我尝试将Ember Todos演示从原始源转换为在单个.handlebars文件中指定模板的位置。
换句话说,我将todos / index模板移动到了 资产/模板/待办事项/ index.handlebars 并将待办事项模板移至 资产/模板/ todos.handlebars
这不起作用......一切都编译好,当我看到Ember.TEMPLATES时,似乎已经创建了完全相同的模板。
它不会为todos模板呈现任何内容。
如果我将todos.handlebars的文件名更改为application.handlebars,则渲染没问题,但其他东西丢失了,就像底部已完成项目的数量一样。
---更新---
我找到了一个解决方法。如果我将todos.handlebars模板重命名为foo.handlebars,并按如下方式更新Todos路线,则可以正常工作
Todos.TodosRoute = Ember.Route.extend({
model: function() {
return this.store.find('todo');
},
renderTemplate: function(controller) {
this.render('foo', {controller: 'todos'});
}
});
以下组合不起作用: 1)调用模板文件todos.handlebars并使用this.render(' todos' ...)(即该文件不能命名为todos.handlebars 2)在渲染中省略控制器规范,或者使用传递给函数的控制器。