我未能将jQuery打字集成到anguler2-seed项目中。
在我的组件中,我正在使用这样的jQuery:
declare let $: any;
export class LeafletComponent implements OnInit {
ngOnInit(): void {
this.popup = $(this.element.nativeElement).find('#leaflet-popup');
}
}
这样可以正常工作,但是我留下了一个无类型的$
对象。我更喜欢这样的东西:
declare let $: JQueryStatic;
我使用npm安装了@types/jquery并尝试使用JQueryStatic
。我还尝试了各种import语句来获取$
对象。没有任何效果。
更多@types/jquery仅提供了jQuery 2.x类型。但我实际上是在使用jQuery 3.x。
如何为jQuery获取正确类型的任何想法都是3.x版本的首选
答案 0 :(得分:0)
嘿,我遇到了同样的问题。我找到了一个解决方案,请告诉我这是否有帮助。
tools/config/project.config.ts
中的
将其添加到构造函数中:
this.SYSTEM_CONFIG_DEV.paths[ 'jquery' ] =
`${this.APP_BASE}node_modules/jquery/dist/jquery`;
this.SYSTEM_BUILDER_CONFIG.packages[ 'jquery' ] = {
main: 'jquery.js',
defaultExtension: 'js'
};

然后,您需要做的就是将import 'jquery';
添加到app/app.module.ts
我的package.json中也有"@types/jquery": "^2.0.32"
和"jquery": "^3.1.1"
。
我不需要申报任何东西,它只是有效。我希望这会帮助你!
答案 1 :(得分:0)
OP - 使用angular2种子项目,您需要做的就是像这样导入它。
从'jquery'导入*为$;
希望有所帮助。