隔离范围2路绑定不会更新父范围的值

时间:2015-09-05 08:53:19

标签: javascript angularjs isolate-scope

你好,我有指令foo,我有哪个控制器

$scope.valid = false

我通过模板

中的孤立作用域将这个变量传递到另一个指令中
<bar valid="valid">

在我的模板中使用ng-if

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

现在我在我的child指令中更新有效。它显示在我的模板中验证。但是变量没有在我的父指令控制器中更新。为什么会这样?

1 个答案:

答案 0 :(得分:0)

  

注意:在我的子控制器中,我将变量附加到控制器而不是作用域。这是它表现得像这样的原因。

的确,如果在你的孩子指令控制器代码中,你写了

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

然后设置控制器对象的valid属性不会更改$scope.valid,因为您执行了valid的副本。

相反,请继续使用$scope将有关更改的信息传递回父级。