2013-03-01 2 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

+1

일반적으로 좋은 생각은 아닙니다 ... 그럼에도 "Inner2"를 $ parent [ 'aaa'] [ 'bbb']'로 변경하면됩니다. – bmleite

+0

또는'$ parent. $ eval ('aaa.bbb')',하지만 가장 좋은 해결책인지 모르겠다. – Freewind

관련 문제