一个列表加载到DOM

时间:2016-03-14 02:05:06

标签: angular

在我的Angular 2应用程序中,我有一个基本上有一个列表的组件 在我的模板的一部分,我有一个将从服务填充的列表。

  

<div class="column" *ngFor="#item of availableList >..

在我的组件中,我有一个&#39; load&#39;从服务中获取数据并将数据分配给此“关联列表”的方法。变量。 IE:

loadAssets() {
        this.someService.loadData().subscribe( data => {
                this.associatedList = data;
            }
        }

此时我需要一个侦听器,当数据已加载到模板中并且项目实际存在于DOM中时会触发。有人可以帮我从这里出去吗 ? 谢谢!

2 个答案:

答案 0 :(得分:0)

我认为你想要实现AfterViewInit接口:

https://angular.io/api/core/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。可能这应该有所帮助。

当然,你可以创建一个自定义的可观察对象,但这只是一个过分的过度...