如何使用angular 2在Component类上使用ngAfterViewInit()调用$(document).ready()jQuery函数

时间:2017-12-11 06:51:33

标签: angular typescript angular2-directives angular-components

代码是

constructor(private el: ElementRef) { }

ngAfterViewInit() {

    this.loadScript('app/homepage/template-scripts.js');       


}

1 个答案:

答案 0 :(得分:1)

Angular让你避免使用生命周期事件的这个jquery依赖:

(按生命周期排序)

-ngOnChanges -ngOnInit -ngDoCheck -ngAfterContentInit -ngAfterContentChecked -ngAfterViewInit -ngAfterViewChecked -ngOnDestroy

如果你想使用jquery函数.ready,你应该在角项目中导入jquery作为依赖项,然后在.ts文件中导入相关模块并在ngAfterViewInit中调用它:

// In the console
// First install jQuery
npm install --save jquery
// and jQuery Definition
npm install -D @types/jquery

-----

import $ from 'jquery';
//

ngAfterViewInit() {
// other stuffs

if ($.ready()) {
    console.log('ready');
  }
}

上面的代码可以使用。

但我想向你解释这是不好的做法,因为你要把逻辑放在现有的角度生命周期逻辑中。

https://angular.io/guide/lifecycle-hooks

希望这有帮助