Ember는 ApplicationView, ApplicationController 및 'application'이라는 이름의 템플리트와 'main'이라는 이름의 콘센트를 갖는 응용 프로그램을 가지고 있으며이 모든 것이 자동으로 연결됩니다. 예. Uviews가 컨트롤러에 연결되지 않습니다.
App.ApplicationController = Ember.Controller.extend();
App.ApplicationView = Ember.View.extend();
및
그래서 내 응용 프로그램 템플릿은 기본 컨트롤러 속성 내가 템플릿에 액세스 할 수 있습니다App.ApplicationController
의 자동 인스턴스 렌더링 할 때마다. 않는 이유는
App.SongView = Em.View.extend()
및 App.SongController = Em.Controller.extend을()이 두 연결하지 마십시오 이있는 경우 그러나 그것은하지 즉 다른 뷰와 컨트롤러와 함께 작동합니다. 내 노래 템플리트에는
App.SongController
의 속성을 사용할 수 있습니다.
나는처럼 사용할 수 있습니다
{{view App.SongView}}
및 템플릿에 : 다음 App.SongController에 이름 속성이있는 경우 그것에 연결되어 있지 때문에
<script type='text/x-handlebars' data-template-name='song'>
{{name}}
</script>
그것은 실 거예요 발탁 전망. 내가이
{{view App.SongView controllerBinding='App.songController'}}
처럼 할 수 있지만 내 JS 파일도이 방법을 사용하여 App.songController의 인스턴스가 필요하지만 우리는 하드 코딩 템플릿 컨트롤러이다.
가장 좋은 방법은 무엇입니까?
업데이트 나는 여기 내 문제에 대한 JS 바이올린을 부착하고있다 : 템플릿 및 관련 컨트롤러와 뷰를 렌더링 할 경우, {{render}}
템플릿을 사용할 수 있습니다 http://jsfiddle.net/anshulguleria/K6KPJ/
어떤 버전의 엠버를 사용하고 있습니까? –