在实例化组件之前等待数据加载

时间:2016-07-14 11:55:45

标签: angularjs

我正在使用Angular 1.5。我有一个嵌入另一个组件的组件,如下所示。问题是data变量在角度点火component-child时尚未解决,因此我什么都没得到。如何在子组件实例化之前等待解析变量。

HTML

<component-parent>
     <component-child data="$ctrl.data._id"><\component-child>
</component-parent>

JS

this.data = SomeResource.get();

2 个答案:

答案 0 :(得分:4)

如何使用ng-if

<component-parent>
     <component-child ng-if="$ctrl.data._id" data="$ctrl.data._id"> </component-child>
</component-parent>

答案 1 :(得分:1)

您可以使用ngIf将数据加载时推迟编译组件:

Somesource.get().then(function(data) {
    this.makeComponentVisible = true;
});

<component-parent>
    <component-child ng-if="$ctrl.makeComponentVisible" data="$ctrl.data._id"><\component-child>
</component-parent>