컨트롤러에서 기본 모델 객체를 검색하여 지속 가능하도록 만듭니다 (ember-data를 사용하지 않습니다). 확실한 방법은 다음과 같습니다.Ember js : 컨트롤러에서 기본 모델을 검색하는 방법
controller.get('content');
그러나 이것은 작동하지 않습니다. 문제는 다음과 같이 요약 될 수있다 :
controller.set("content", model);
예상대로 콘텐츠를 설정하고이 시점에서
controller.get('content');
작품은 예상대로. 하지만 다른 속성으로 컨트롤러를 장식한다면 예.
controller.set('IamNotPartOfTheModel', false);
갑자기 'content'에이 새로운 속성이 포함됩니다. 콘텐트 자체가 변경되지 않고 새로운 속성이 컨트롤러에만 적용될 것으로 예상했습니다. 저는 컨트롤러가 모델의 프록시라는 것을 이해합니다. 그래서 대부분의 경우 컨트롤러는 동일하고 동일하게 취급되지만, 필요할 때 분리 가능해야합니다. 이 패턴의 요점은 단지 임시적인 데이터로부터 저장되어야하는 데이터를 분리하는 것입니다. 내가 놓친 게 있니?
이 내 목적을 위해 작동합니다, 감사합니다! 나는 아직도 그것을 좋아하지는 않지만 - 모델이 아닌 모든 속성이 컨트롤러에서 명시 적으로 선언되어야한다고 생각하지는 않습니다. 일부는 경로 처리기에 설정되어 있지만 잘 설정해야합니다. –
내가 찾고있는 동작이 기본 컨트롤러의 기본 동작임을 알게되었습니다. 따라서'Ember.Controller.extend'를 사용하여 컨트롤러를 선언하는 것도 또 다른 옵션입니다. 하지만 물론 ObjectController의 기능을 잃어 버릴 수도 있지만 제 경우에는 문제가되지 않습니다. –