엠버에서 {{render}}를 사용하여 메뉴를 작동 시키려고합니다.앰버 렌더링/ArrayController
컨트롤러 : 그럼 다음 문장 템플릿을 사용하여 렌더링 {{render "navigation"}}
를 사용
App.NavigationController = Ember.ArrayController.extend({
itemController: 'navSheet',
init: function() {
this._super();
this.set('content', [
{ name: 'Sheet 1', type: 'Sheet', id: 1 },
{ name: 'Sheet 2', type: 'Sheet', id: 2 }
]);
}
});
App.NavSheetController = Ember.ObjectController.extend({
getID: function() {
return 'sheet-' + this.get('id');
}
});
: 여기에 "controller.content"으로
이ul
each controller.content
li data-type=type! id=getID! = name
[출력 UPDATE]
를 I 콘텐츠를 반복하십시오. "each"를 사용하면이 기능을 사용할 수 없습니다. 그러나 어떤 경우에도 itemController는 루프 내부의 컨텍스트에 있지 않습니다. 결과 HTML은 다음과 같습니다.
<li data-type="Sheet" id="">
<script id="metamorph-8-start" type="text/x-placeholder"></script>Sheet 1
<script id="metamorph-8-end" type="text/x-placeholder"></script></li>
<li data-type="Sheet" id="">
<script id="metamorph-9-start" type="text/x-placeholder"></script>Sheet 2
<script id="metamorph-9-end" type="text/x-placeholder"></script></li>
특히 "getID"값이 표시되지 않습니다. 사실 itemController에 전혀 액세스 할 수없는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
왜 객체 컨트롤러의 내용을 덮어 쓸 수 있어야하기 때문에
이제 getID가 실행되지 않습니다? 내용은 배열 컨트롤러의 각 항목이어야합니다. – Kingpin2k
이것은 서브 컨텐츠입니다. 중첩 된 항목 세트를 렌더링하려고 할 때 각 서브 아이템의 컨텐츠입니다. 그러나 현재 버전에서는 여러 가지를 시도하면서 엉망입니다. (이전에는 ArrayController가있었습니다.) 그러나 항목 컨트롤러는 전혀 사용할 수없는 것 같습니다. ... – shaunc
[이제 "하위 컨텐츠"를 삭제하기 위해 편집 됨 ... – shaunc