Angular 2 - 当UI绑定完成时是否有事件

时间:2017-03-30 07:55:58

标签: angular

如果我更改了组件中有界对象的值,则angular会自动更新UI上的值。此更新过程需要几毫秒(取决于设备)。 UI更新过程完成后是否有事件?

目前我使用以下代码:

// refresh binding
boundedItem = newValue;

// wait 100 milliseconds and the open the browsers print view 
setTimeout(() => {
    // open browser print view
}, 100);

在慢速设备(智能手机)上,此过程可能需要100毫秒以上,因此代码不是很干净。

2 个答案:

答案 0 :(得分:3)

只是明确地调用更改检测,然后您知道在执行进一步的代码之前视图已更新:

constructor(private cdRef:ChangeDetectorRef)  {}

someMethod() {
  boundedItem = newValue;
  this.cdRef.detectChanges();
  // view update is completed here
}

答案 1 :(得分:0)

你可以试试这个生命周期钩子:

ngAfterViewInit(){

}