Angular2 - ngAfterViewChecked被多次调用..如何在DOM完全加载后调用一次方法?

Kcs*_*Kcs 9 angular angular-lifecycle-hooks

我需要jqueryAngular2使用时将插件应用于单选按钮Typescript.

如果我指定了ngAfterViewChecked,则会多次调用它,并且控件会多次刷新.

在DOM准备好之后调用javascript方法的替代解决方案是什么?

sel*_* mn 11

试着ngAfterViewInit看看这里这里.

  • 但是,当需要跟踪更改并希望在发生更改后运行某些功能时会发生什么?ngAfterViewInit`是否多次/始终运行? (2认同)
  • “一直是” - 我不同意,它不会一直运行。如果你在 `ngAfterViewInit ` 中使用 `console.log()` 某些内容,它不会被无限记录,因此它实际上不会一直运行。“使用 RxJs 来满足你的要求”——这是有道理的,肯定会奏效。 (2认同)

小智 5

ngAfterViewChecked() 一旦 DOM 树发生任何变化,就会被调用。

因此,如果 DOM 树多次更改,则 ngAfterViewChecked() 方法将被多次调用。

建议不要把业务逻辑放在这个方法中。但是只有屏幕刷新相关的逻辑,比如如果有新消息进来,就把窗口滚动到底部。