2014-07-15 1 views
0

탐색 메뉴를 표시 할 수있는 {{outlet sidebar}}가있는 웹 사이트가 있습니다.Ember this.render 컨트롤러 매개 변수로 작업하지 않음

탐색 메뉴가 현재 경로와 독립적으로 렌더링되어야하기 때문에 복잡해지기 시작합니다.

Ember.Route.reopen({ 
    renderTemplate: function() { 
     this.render(); 
     this.render('layout/sidebar', { 
      into: 'application', 
      outlet: 'sidebar' 
     }); 
    } 
}); 

내 응용 프로그램 내에서 각 경로의 renderTemplate 방법을 덮어 제 1 시도로

은이 코드를 사용합니다. 그리고 제대로 작동했습니다.

하지만 통과 할 내비게이션 컨트롤러를 추가하면 더 이상 작동하지 않습니다.

Ember.Route.reopen({ 
    renderTemplate: function() { 
     var navCont = this.controllerFor('navigation'); 

     this.render(); 
     this.render('layout/sidebar', { 
      into: 'application', 
      outlet: 'sidebar', 
      controller: navCont 
     }); 
    } 
}); 

var navCont를 검사하여 예상대로 탐색 컨트롤러를 보유하고 있습니다.

컨트롤러가없는 이유를 아는 사람이 있습니까?

+0

난 당신이 컨트롤러 이름 주위에 따옴표를 놓치고 생각합니다. http://emberjs.com/api/classes/Ember.Route.html#method_render – borisrorsvort

답변

1

동일한 템플릿으로 동일한 콘센트를 계속해서 렌더링하고 싶지 않은 이유가 확실하지 않습니다. 응용 프로그램 템플릿에서 render을 사용하는 것이 좋습니다.

{{render 'navigation'}} 

예 : http://emberjs.jsbin.com/jisuwuna/1/edit