我正在编写一个使用双向绑定的指令。我的指令如下所示:
bankSearch.directive('bankSearch',
function() {
return {
restrict: 'E',
scope: {
bankDetail: '='
},
templateUrl: "angular/views/self_signup/bank_search.html",
link: function(scope) {
//Now when link function runs, scope.bankDetail is undefined.
}
}
});
template-url的HTML:
`<div class="row-fluid">
<input id="ifsc-code" class="span12" type="text" name="ifscCode"
ng-model="bankDetail.bankBranch.ifscCode"
should-be-ifsc
ng-keypress="onPressEnter($event, bankSearch.ifscCode.$valid)">
</div>`
这就是我使用指令的方式:
`<bank-search
bank-detail="bankSearchModel.bankDetail">
</bank-search>`
我认为链接功能在链接(观察者设置)完成后运行。如果我是正确的,那么为什么我的链接函数中的scope.bankDetail未定义。
我是Angular的新手。谢谢你的帮助!
答案 0 :(得分:0)
在呈现指令后,可能会bankSearchModel.bankDetail
定义。如果它是从$ http或其他东西加载。试试
link: function(scope) {
scope.$watch('bankDetail', function(val){
console.log(val);
});
}
你会看到该变量的所有变化。