由于本人也是初入angular2不久,很多问题也许解决了,确不知其原由,也有一些问题,解决了后面又出来同样的错误,关于这些,请谅解.
关于这个问题,我自己也是想了很久,总算是能用上了,
想在angular2中引用jquery的话,高大上的一个方法是,在package.json中的dependencies中写入,执行cnpm i;安装;
代码语言:javascript复制 "dependencies": {
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"core-js": "^2.4.1",
"rxjs": "^5.1.0",
"tinymce": "4.5.3",
"jquery": "^3.1.1",
"zone.js": "^0.8.4"
},
然后在需要用jquery的组件中声明: declare var $:any;
代码语言:javascript复制import { Component, OnInit } from '@angular/core';
declare var $:any;
@Component({
moduleId: module.id,
selector: 'myIndex',
styleUrls:['../../assets/css/index.css'],
templateUrl: 'index.component.html'
})
或者是在typings.d.ts中声明引入,这样就可以在所有的组件中直接使用,而不需要在每个组件中重复声明:
代码如下:
代码语言:javascript复制declare var JQuery: any;
declare var jQuery: any;
declare var $: any;
最后一步,在.angular.cli.json中引入jquery.min.js文件;也许会有很多人问了,不是已经安装好了 ,为什么还要另外引入呢?我也求解!然而没有一步,$就是undefined!
最后一步也可以这样做,在首页,src下面的index.html中,直接引入jquery.min.js,也是可以的,不过这样就显的有点Low了!
欢迎讨论!