我正在编写一个 Angular 1.5 指令,我遇到了一个令人讨厌的问题,试图在绑定(bind)数据存在之前对其进行操作。
这是我的代码:
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 来获取收藏夹,然后根据绑定(bind)的表单列表检查它。
问题是,甚至在填充绑定(bind)之前, promise 就已经实现了……所以当我运行循环时,ctrl.forms 仍然是未定义的!
如果不使用 $scope.$watch(这是 1.5 组件的一部分),我该如何等待绑定(bind)完成?
最佳答案
我有一个类似的问题,我这样做是为了避免在我要发送的值准备好之前调用该组件:
<form-selector ng-if="asyncValue" forms="asyncValue" ></form-selector>
关于javascript - 如何在 Angular 1.5 组件中等待绑定(bind)(没有 $scope.$watch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35639435/