如何为angular2种子导入jQuery类型?

时间:2016-09-21 13:52:19

标签: jquery angular typescript

我未能将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版本的首选

2 个答案:

答案 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'导入*为$;

希望有所帮助。