2015-09-05 122 views
0

你好,我有指令FOO,在其中控制器我有隔離範圍2路綁定不更新父範圍的值

$scope.valid = false 

我在我的模板通過這個變量另一個指令內通過孤立作用域

<bar valid="valid"> 

,並使用NG-如果我的模板中現在

<span ng-if="valid">Validated<span> 

當我更新以米有效y兒童指令。它顯示在我的模板中驗證。但該變量沒有在我的父指令控制器中更新。爲什麼發生這種情況?

回答

0

注意:在我的子控制器中,我將變量附加到控制器而不是範圍。這是這樣做的原因嗎?

事實上,如果你的孩子指令的控制器代碼,你寫

function MyController($scope) { 
    this.valid = $scope.valid; 
} 

然後設置控制器對象的valid屬性不會改變$scope.valid,因爲你執行的valid副本。

取而代之,請繼續使用$scope將有關更改的信息傳回給父級。

+0

我想你誤會了。我的意思是使用bindToController綁定到控制器:true。無論如何,這不是問題。我通過刪除bindToController並使用範圍來檢查它。 –