美元范围.父母.messageContent=值没有从指令更新父作用域
scope.$parent.messageContent= value not updating the parent scope from directive
我可以发誓我有这个工作早些时候,但现在我只是不能得到父作用域更新和显示在页面上。
在父我有一些简单的范围,我想从指令更新。在父控制器中,我是这样设置的。
$scope.messageContent = 'The initial content';
在父视图中显示
{{$scope.messageContent}}
我做了一个非常简单的测试,这里是指令。在指令中的链接函数中,我有以下代码:
link: function (scope, element, attrs) {
scope.$parent.messageContent = 'New content';
}
它不会更新父元素。我遗漏了什么?
谢谢
你可能有一个ng-if
或另一个Angular指令(ng-repeat, ng-switch,…)创建了一个新的作用域,所以你必须用更多的$parent
声明来向上走。
更好的选择是使用对象。
控制器:
$scope.message = {content: 'some content'};
指令
link: function (scope, element, attrs) {
scope.message.content = 'New content';
}
使用对象而不是原语来解决解析问题是由于JavaScript的原型继承。
要了解详细的答案,请参阅:AngularJS中作用域原型/原型继承的细微差别是什么?
相关文章:
- 对父作用域的指令更新延迟了一步
- 我无法通过angularjs中的指令更新变量
- AngularJs 指令更新
- 如何在事件上对jquery上的ng模型进行指令更新
- 可以从控制器更新工厂,但不能从指令更新
- Angular指令更新多个元素的高度以匹配最高的
- Angular.js-从指令更新父作用域
- Angularjs 指令更新到 DOM 属性值的变化
- 从使用它的指令更新服务
- 推送到数组不会通过ng repeat指令更新视图列表
- AngularJS-通过服务从指令更新控制器数据(this.model语法)
- 如何让AngularJS指令更新由另一个指令生成的锚点
- 如何使用选择列表从指令更新父级上的模型
- 根据AngularJS中$apply或$digest循环的指令更新模型
- 从指令更新作用域,并使用另一个指令进行监视
- 通过指令更新作用域.最佳实践
- AngularJS后台任务指令更新控制器
- Angular指令更新父控制器对象
- 美元范围.父母.messageContent=值没有从指令更新父作用域
- AngularJS:通过指令更新模板绑定