Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 4组件:从另一个文件调用javascript/jquery代码_Javascript_Jquery_Angular_Typescript - Fatal编程技术网

Angular 4组件:从另一个文件调用javascript/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导出函数,然后

我有一个jquery代码,它在
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
    });
  }
};