Angular 4组件:从另一个文件调用javascript/jquery代码
我有一个jquery代码,它在Angular 4组件:从另一个文件调用javascript/jquery代码,javascript,jquery,angular,typescript,Javascript,Jquery,Angular,Typescript,我有一个jquery代码,它在ngAfterViewInit()执行 但是我想把它移到一个外部的myScripts.js来简化组件 我尝试将代码移动到一个外部文件,然后使用import,但这会使脚本只被调用一次,因此如果我导航到一个子组件(使用定义的onclick擦除html元素myElement),然后返回到父级myElement返回时没有onclick事件 所以问题是: 在angular4中使用jquery/javascript的最佳实践是什么?您需要从myScripts.ts导出函数,然后
ngAfterViewInit()执行
但是我想把它移到一个外部的myScripts.js
来简化组件
我尝试将代码移动到一个外部文件,然后使用import
,但这会使脚本只被调用一次,因此如果我导航到一个子组件(使用定义的onclick
擦除html元素myElement
),然后返回到父级myElement
返回时没有onclick事件
所以问题是:
在angular4中使用jquery/javascript的最佳实践是什么?您需要从myScripts.ts
导出函数,然后导入它并在ngAfterViewInit()中调用它
正确导出后,您应该能够执行以下操作:
// app.ts
import { myInitFunc } from './myScripts';
ngAfterViewInit() {
myInitFunc();
}
// myScripts.ts
export function myInitFunc(): void {
$(function () {
$('#myElement').click(function (e) {
//do stuff
});
}
};
请看导出
:
// app.ts
import { myInitFunc } from './myScripts';
ngAfterViewInit() {
myInitFunc();
}
// myScripts.ts
export function myInitFunc(): void {
$(function () {
$('#myElement').click(function (e) {
//do stuff
});
}
};