如果我有这样的模板:
<script type="text/x-handlebars" data-template-name="listbeer">
{{#each controller}}
<li>{{aname}}</li>
{{/each}}
</script>
然后什么都不会显示。另一方面,如果我这样做:
<script type="text/x-handlebars" data-template-name="listbeer">
{{#each DHApp.beerlistController}}
<li>{{aname}}</li>
{{/each}}
</script>
它有效,我从控制器显示的内容中获取列表。为什么是这样?在前一种情况下,我看到了什么控制器。请注意,我已将它们绑定在视图中,或者我认为:
DHApp.ListbeerView = Ember.View.extend({
templateName: 'listbeer',
});
DHApp.listbeerView = DHApp.ListbeerView.create({
controller: DHApp.listbeerController,
contentBinding: 'controller.content'
});
所以我希望看到同样的情况。请注意,控制器是一个数组,正如我在上面所说的,如果我在每个循环中指定控制器
更新:如果我这样做
{{controller}} {{DHApp.listbeerController}}
然后我得到
<DHApp.ListbeerController:ember192> <DHApp.ListbeerController:ember149>
看起来我收到的是默认控制器,而不是我实例化的那个。
那么有没有办法将视图的控制器设置为我的实例化控制器。或者一种在路由之外获取自动实例化控制器的方法。我想访问控制器,这样我就可以在 ajax 响应、计时器和类似的东西中更新控制器模型