你好,我有指令foo,我有哪个控制器
$scope.valid = false
我通过模板
中的孤立作用域将这个变量传递到另一个指令中<bar valid="valid">
在我的模板中使用ng-if
<span ng-if="valid">Validated<span>
现在我在我的child指令中更新有效。它显示在我的模板中验证。但是变量没有在我的父指令控制器中更新。为什么会这样?
答案 0 :(得分:0)
注意:在我的子控制器中,我将变量附加到控制器而不是作用域。这是它表现得像这样的原因。
的确,如果在你的孩子指令控制器代码中,你写了
function MyController($scope) {
this.valid = $scope.valid;
}
然后设置控制器对象的valid
属性不会更改$scope.valid
,因为您执行了valid
的副本。
相反,请继续使用$scope
将有关更改的信息传递回父级。