2014-01-24 2 views
2

상위 컨트롤러가 하위 컨트롤러의 속성에 액세스하는 가장 좋은 방법은 무엇입니까?상위 컨트롤러가 하위 컨트롤러의 속성에 액세스하는 가장 좋은 방법

App.ParentController = Ember.ArrayController.extend({ 
    itemController: 'child', 

    total: function(){ 
     return .... whatever  
    }.property('[email protected]') 
}); 

나는 변경을 선택하면이 업데이트받을 것이라고 생각했습니다 것이지만, 그렇지 않습니다 :

이것은 내가 지금까지있는 것입니다. this 요청이 원인 일 수 있습니다.

답변

0

배열을 컨트롤러에 바인딩하고 일부 속성을 합산해야합니까? ArrayController를 사용하고 계산 된 속성을 사용하여 각 배열 항목의 값을 합산해야합니다. 그렇지 않다면 모델로 밀어 넣을 것입니다. 부모 컨트롤러가 자식 컨트롤러를 반복하는 것은 잘못되었습니다.

+1

컨트롤러가 모델 데이터에 저장되지 않은 계산 된 속성의 논리적 인 위치 인 것으로 보입니다. 부모 컨트롤러가 자식의 계산 된 속성을 알고 있어야 할 경우 이러한 컨트롤러에 액세스 할 수 있어야합니다. 먼저 모델에 저장합니다. 예 : 합계의 합계. – TrevTheDev

+1

또한 ArrayController를 사용해야하고 적절하게 변경해야합니다. – TrevTheDev

+1

이 문제에 대해 좀 더 연구를 해본 결과, 다양한 MVC 구성 요소의 역할과 책임에 대해 혼란스러워 보입니다. 누군가가 각 항목 역할에 대한 명확한 설명을 제공하면 정말 유용 할 것입니다. [this] (http://emberjs.com/guides/concepts/core-concepts/)는 부적절합니다. 많은 예들은 비슷한 결과를 얻기 위해 다른 항목을 사용하는 경향이 있습니다. – TrevTheDev

관련 문제