2013-03-01 93 views
0

HTML代码:如何从父范围获取嵌套模型?

<body ng-controller="MainCtrl"> 
    <h1>Outer: {{aaa.bbb}}</h1> 
    <div ng-controller="InnerCtrl"> 
    <h1>Inner1: {{$parent['aaa']}}</h1> 
    <h1>Inner2: {{$parent['aaa.bbb']}}</h1> 
    </div> 
</body> 

Angularjs代码:

app.controller('MainCtrl', function($scope) { 
    $scope.aaa = { 
    bbb:'Freewind' 
    } 
}); 

app.controller('InnerCtrl', function($scope){ 
}); 

呈现的HTML将是:

Outer: Freewind 

Inner1: {"bbb":"Freewind"} 

Inner2: 

你可以看到Inner2:是空的。

我该如何展示它?

这里有一个现场演示:http://plnkr.co/edit/7IfxgsNCaUpKH9HOpr26?p=preview

回答

3

InnerCtrl范围继承其父范围(MainCtrl范围)的属性,因此,你可以直接访问这些属性:

<div ng-controller="InnerCtrl"> 
    <h1>Inner1: {{aaa}}</h1> 
    <h1>Inner2: {{aaa.bbb}}</h1> 
</div> 
+0

它的工作原理,但我想明确调用'$ parent' – Freewind 2013-03-01 10:25:56

+1

这通常不是一个好主意......但是,将“Inner2”更改为“$ parent ['aaa'] ['bbb']',它将起作用。 – bmleite 2013-03-01 10:29:54

+0

或'$ parent。$ eval('aaa.bbb')',但我不知道这是否是最好的解决方案 – Freewind 2013-03-01 10:44:29