在我的Angular 2应用程序中,我有一个基本上有一个列表的组件 在我的模板的一部分,我有一个将从服务填充的列表。
<div class="column" *ngFor="#item of availableList >..
在我的组件中,我有一个&#39; load&#39;从服务中获取数据并将数据分配给此“关联列表”的方法。变量。 IE:
loadAssets() {
this.someService.loadData().subscribe( data => {
this.associatedList = data;
}
}
此时我需要一个侦听器,当数据已加载到模板中并且项目实际存在于DOM中时会触发。有人可以帮我从这里出去吗 ? 谢谢!
答案 0 :(得分:0)
我认为你想要实现AfterViewInit接口:
答案 1 :(得分:-1)
试试这些......你需要OnInit
https://angular.io/api/core/OnInit
https://angular.io/guide/lifecycle-hooks
根据描述,您可以做两件事。你可以尝试AfterViewChecked而不是Init,但有一些检查我怀疑它可能有任何帮助。您可能想要检查AfterViewChecked生命周期钩子。或者,您也可以创建自己的自定义标记,该标记在此行this.associatedList = data;
之后触发到truthy。然后可以使用AfterViewChecked(Preferred)/ OnChanges生命周期钩子捕获/检查此标志以执行逻辑,然后在逻辑后重置为false。可能这应该有所帮助。
当然,你可以创建一个自定义的可观察对象,但这只是一个过分的过度...