Ember.js Uviews未连接到控制器

Ember.js Uviews未连接到控制器,ember.js,handlebars.js,Ember.js,Handlebars.js,Ember有一个应用程序,该应用程序具有ApplicationView、ApplicationController、名为模板的“应用程序”和名为outlet的“主要”应用程序,所有这些都自动连接。 例如 及 因此,每当我的应用程序模板呈现其默认控制器时,它都是 App.ApplicationController 我可以在模板中访问其属性。但为什么它不能与其他视图和控制器一起工作,即如果我有 App.SongView = Em.View.extend() 及 App.SongControlle

Ember有一个应用程序,该应用程序具有ApplicationView、ApplicationController、名为模板的“应用程序”和名为outlet的“主要”应用程序,所有这些都自动连接。 例如

因此,每当我的应用程序模板呈现其默认控制器时,它都是

App.ApplicationController
我可以在模板中访问其属性。但为什么它不能与其他视图和控制器一起工作,即如果我有

App.SongView = Em.View.extend()
及 App.SongController=Em.Controller.extend() 这两者没有联系。我可以使用你的任何财产

App.SongController
在我的歌曲模板中。
我可以使用like:

{{view App.SongView}}
在模板中:

<script type='text/x-handlebars' data-template-name='song'>
    {{name}}
</script>
但这需要我的js文件中的App.songController实例,并且使用这种方法,我们将控制器硬编码到模板中。
最好的方法是什么

更新 我还在这里为我的问题附上一把js小提琴:

如果要呈现模板及其关联的控制器和视图,可以使用
{{render}
模板。它的工作原理与此类似。在路由器中渲染

{{render "song" song}}
此示例将使用
App.SongController
App.SongView
的实例呈现
song
模板。它将在当前上下文中将
song
控制器的
model
设置为
song
的值


下面是一个例子,说明了这是如何工作的。

您使用的是哪个版本的ember?如果我在应用程序模板中使用这个{{render}}帮助程序,这种方法是有效的。但在我的例子中,我使用视图的appendTo方法在页面上呈现视图。这背后的原因是我正在尝试创建小部件,而我不能用一个应用程序来控制我的所有小部件。我这里有一个样本来说明我的问题。在这种情况下,如果我在应用程序模板中写入{{render'parent'}}并删除父级的创建,那么它工作正常,否则给出错误类型错误:容器为空在4天之后,为了找到复制此功能的好方法,我偶然发现了这一点。这太棒了,谢谢!
<script type='text/x-handlebars' data-template-name='song'>
    {{name}}
</script>
{{view App.SongView controllerBinding='App.songController'}}
{{render "song" song}}