隔离作用域2的方式绑定不会更新父作用域的值
Isolate Scope 2 way bindings doesn't update the value of parent scope
Hello,我有一个指令foo,在这个控制器中我有
$scope.valid = false
我在模板中通过隔离作用域将这个变量传递到另一个指令中
<bar valid="valid">
和在模板
中使用ng-if<span ng-if="valid">Validated<span>
现在当我更新有效在我的子指令。它显示验证在我的模板中。但是变量没有在我的父指令控制器中更新。为什么会发生这种情况?
注意:在我的子控制器中,我将变量附加到控制器而不是作用域。这就是它表现成这样的原因吗?
事实上,如果在子指令控制器代码中,你写
function MyController($scope) {
this.valid = $scope.valid;
}
则设置控制器对象的valid
属性不会改变$scope.valid
,因为您执行了valid
的副本。
相反,继续使用$scope
将有关更改的信息传递回父节点。
相关文章:
- 对父作用域的指令更新延迟了一步
- 当我更新另一个作用域变量时,作用域变量会自动更新
- AngularJS select with ng选项不更新父作用域中的引用对象属性
- 如何更新作为属性传入的作用域变量
- 从$http.get调用更新Angular作用域变量
- 隔离未更新指令中值的作用域
- Angular.js-从指令更新父作用域
- 修改作用域变量后,未更新作用域绑定
- 角度指令的父作用域未更新UI
- 正在更新UI路由器状态更改上的父作用域
- 更新侧自调用函数中的外部作用域对象
- AngularJS:如何在指令范围的对象发生变化时更新与控制器作用域相关联的控制器作用域
- 在 AngularJS 中执行作用域函数内的服务后,范围变量不会更新
- 离子选择不会更新依赖于作用域变量的功能
- 在 $scope.$watch 中更新时,独立作用域绑定不起作用
- 作用域变量未在$Scope中更新$看
- Angular.js-视图不't在resize事件中更改作用域变量时更新
- AngularJs:将一个值传递给打开ngDialog的指令,然后将更新的值反映回根作用域
- AngularJS:指令作用域更新&单击事件
- 如何在回调函数中从另一个作用域更新变量