在角度中使用双向绑定时,绑定变量何时可用?

时间:2014-07-02 05:51:14

标签: angularjs angularjs-directive

我正在编写一个使用双向绑定的指令。我的指令如下所示:

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的新手。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

在呈现指令后,可能会bankSearchModel.bankDetail定义。如果它是从$ http或其他东西加载。试试

link: function(scope) {
    scope.$watch('bankDetail', function(val){
        console.log(val);
    });
}

你会看到该变量的所有变化。