2016-08-07 1 views
0

몇 마디로 원하는 것을 표현할 수있는 방법을 찾을 수 없으므로 제목이 원하는만큼 정확하지 않을 수 있습니다. (내 말을 바꾸는 것을 주저하지 말고) 설명은 다음과 같습니다.Angular에서 빠르게 액세스 할 수 있도록 개체 주변에 범위를 만드는 방법은 무엇입니까?

의 난이 객체가 있다고 가정 해 봅시다

, 내 컨트롤러에 바인딩 나는 HTML에서 할 싶습니다 무엇

var ctrl = this; 
    ctrl.myObject = { 
    nested: { 
     ppty: 1, 
     otherPpty: 2 
    }, 
    stuff: 'foo' 
    } 

<div ng-controller="MyController as myCtrl"> 
    <div class="divOfInterest" ng-something="myCtrl.myObject.nested as o"> 
     <span> Ppty: {{o.ppty}}</span> 
     <span> otherPpty: {{o.otherPpty}}</span> 
    </div> 
    </div> 

그래서 난에있을 때 myCtrl.myObject.nested.ppty을 접두사 필요가 없습니다 divOfInterest.

지시어로 할 수 있지만 다른 곳에서는 다시 사용할 수 없으므로 컨트롤러의 일부 개체에 바로 가기를 가져 가고 싶습니다.

어떻게 수행 할 수 있습니까?

+0

나는이 별도의 컨트롤러없이 할 수 있다고 생각하지 않습니다. – Casey

+0

또는 ng-repeat 및 one-element 배열을 사용할 수 있다고 생각합니다. – Casey

+0

사실, 이것에 대해 좀 더 생각해보십시오. 왜 그냥 중첩 된 속성을 가진 컨트롤러에 속성을 만들지 않으십니까? 'ctrl.o = myObject.nested'처럼? – Casey

답변

0

이 경우 ng-init이 도움이 될 것으로 생각합니다.

ng-init="o = myCtrl.myObject.nested "

+0

아마도 내 경우에는 효과가 있지만 의사는 두 가지 경우에만 사용해야한다고 말하면서 광산은 그 중 하나가 아니므로 Casey와 Hamlet이 제안한대로 계속 할 것입니다. 귀하의 답변에 감사드립니다. – ValLeNain

관련 문제