all I'm making a small web app using Angular 2 and i want to use JQuery in it. I'm getting a error in chrome I don't know why Here is the error:
core.umd.js:3004 EXCEPTION: Uncaught (in promise): Error: Error in `enter code here`http://localhost:3000/app/dashboard.component.js class DashboardComponent_Host - inline template:0:0 caused by: $ is not defined
ReferenceError: $ is not defined
at DashboardComponent.ngOnInit (http://localhost:3000/app/dashboard.component.js:22:9)
at Wrapper_DashboardComponent.detectChangesInInputProps (/AppModule/DashboardComponent/wrapper.ngfactory.js:18:53)
at _View_DashboardComponent_Host0.detectChangesInternal (/AppModule/DashboardComponent/host.ngfactory.js:30:32)
at _View_DashboardComponent_Host0.AppView.detectChanges (http://localhost:3000/node_modules/@angular/core/bundles/core.umd.js:9305:18)
at _View_DashboardComponent_Host0.DebugAppView.detectChanges (http://localhost:3000/node_modules/@angular/core/bundles/core.umd.js:9410:48)
at ViewRef_.detectChanges (http://localhost:3000/node_modules/@angular/core/bundles/core.umd.js:7398:24)
at RouterOutlet.activate (http://localhost:3000/node_modules/@angular/router/bundles/router.umd.js:3458:46)
at ActivateRoutes.placeComponentIntoOutlet (http://localhost:3000/node_modules/@angular/router/bundles/router.umd.js:2955:20)
at ActivateRoutes.activateRoutes (http://localhost:3000/node_modules/@angular/router/bundles/router.umd.js:2933:26)
at eval (http://localhost:3000/node_modules/@angular/router/bundles/router.umd.js:2902:23)
And here is my code:
import { Component, ElementRef, OnInit } from '@angular/core';
declare var $:JQueryStatic;
@Component({
moduleId: module.id,
selector: 'my-dashboard',
templateUrl: 'dashboard.component.html',
styleUrls: ['dashboard.component.css'],
})
export class DashboardComponent implements OnInit{
constructor(private elRef: ElementRef){}
ngOnInit():any{
$(this.elRef.nativeElement).find('button').on('click', function() {
alert('It works!');
});
}
}
I used this answer to install jquery and did everything as explained but does not work. link Any ideas why? Thanks
FIX
I fixed it by changing declare var $:JQueryStatic;
to declare var $:any;
and included <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
into index.html