如何在同一个div
元素中使用两个不同的控制器?
如何从子控制器内部访问父控制器模型数据?
例如
<div ng-controller="abc">
<div ng-controller="def"><span>{{name}}</span></div>
</div>
假设模型name
在控制器abc
中,那么如何访问它的值?
答案 0 :(得分:1)
AngularJS会自动从第一个$scope
向父级查找,直到$rootScope
找到匹配name
的属性。
因此,为了回答您的问题,如果控制器def
没有名为name
的属性,则它已经可见。否则,您应该使用:
{{$parent.name}}
在您的HTML代码中
答案 1 :(得分:0)
执行此操作的正确方法是使用别名。见Plunker
在你的HTML中,它看起来像
<div ng-controller="Ctrl as Alias">
{{Alias.foo}}
在你的javascript中它看起来像
function Ctrl(){
this.foo = "bar"
}