组件:延迟数据初始化?

时间:2016-10-23 03:41:46

标签: angularjs initialization components angular-ui-grid multi-select

我有初始化问题"元素"在COMPONENTS中,来自Web请求的数据。 F.E. (伪代码):

 <elem elemOpts="$ctrl.elemOpts" />


 .......
 ctrl = this;

 ctrl.web_data = [];
 ctrl.elemOpts = { data : ctrl.web_data }

 ctrl.$onInit = function() {
    $http({ ... }).then(function(response) {
       ctrl.web_data = response.data;
    })
 } 

这不起作用,因为ELEMENT在$ onInit()之前初始化,因此Web请求随后出现。 有没有办法在呈现元素之前执行COMPONENT代码?

我遇到这个问题的两个案例是ui-grid和multiselect,我必须从web-request初始化选择框。

1 个答案:

答案 0 :(得分:0)

从路由中的解析获取数据并将其注入控制器。 [this] [1]解释了角度分量的更好解析。

或者您可以使用ngOnChanges事件