我正在编写一个 Angular 1.5 指令,并且在尝试在绑定数据存在之前对其进行操作时遇到了一个令人讨厌的问题。
这是我的代码:
app.component('formSelector', {
bindings: {
forms: '='
},
controller: function(FormSvc) {
var ctrl = this
this.favorites = []
FormSvc.GetFavorites()
.then(function(results) {
ctrl.favorites = results
for (var i = 0; i < ctrl.favorites.length; i++) {
for (var j = 0; j < ctrl.forms.length; j++) {
if (ctrl.favorites[i].id == ctrl.newForms[j].id) ctrl.forms[j].favorite = true
}
}
})
}
...
正如您所看到的,我正在进行 AJAX 调用来获取收藏夹,然后根据我的绑定表单列表进行检查。
问题是,甚至在填充绑定之前就已经履行了承诺...因此,当我运行循环时,ctrl.forms 仍然未定义!
如果不使用 $scope.$watch (这是 1.5 组件的吸引力的一部分),我如何等待绑定完成?
我遇到了类似的问题,我这样做是为了避免调用组件,直到我要发送的值准备就绪:
<form-selector ng-if="asyncValue" forms="asyncValue" ></form-selector>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)