Ember 有一个应用程序,它有 ApplicationView、ApplicationController 和名为模板的“应用程序”和名为插座的“主”,所有这些都自动连接。例如。
App.ApplicationView = Ember.View.extend();
和
App.ApplicationController = Ember.Controller.extend();
所以每当我的应用程序模板呈现它的默认控制器时,它就是一个自动实例
App.ApplicationController
我可以在模板中访问其属性。但是为什么它不适用于其他视图和控制器,即如果我有
App.SongView = Em.View.extend()
和 App.SongController = Em.Controller.extend() 这两个不连接。我可以使用任何属性
App.SongController
在我的歌曲模板中。
我可以像这样使用:
{{view App.SongView}}
并在模板中:
<script type='text/x-handlebars' data-template-name='song'>
{{name}}
</script>
如果我在 App.SongController 中有一个 name 属性,那么它不会被拾取,因为它没有连接到视图。虽然我可以这样做
{{view App.SongView controllerBinding='App.songController'}}
但这需要我的 js 文件中的 App.songController 实例,并且使用这种方法,我们将控制器硬编码到模板中。
最好的方法是什么?
更新 我还在这里为我的问题附加了一个 js 小提琴:http: //jsfiddle.net/anshulguleria/K6KPJ/