在最新的ember master版本中,我正在尝试声明一个类似于此的模板:
App.IndexView = Ember.View.extend({
template: Ember.Handlebars.compile('Index template in code')
});
..而且它不起作用。使用相同的代码并使用templateName
属性在HTML中引用模板可以正常工作。有什么想法吗?
这是一个包含周围代码和HTML的jsfiddle: http://jsfiddle.net/TTMMz/3/
答案 0 :(得分:0)
可能是一个错误,如果您尝试设置defaultTemplate而不是模板,它将起作用。你应该提出一个问题。
App.IndexView = Ember.View.extend({
defaultTemplate: Ember.Handlebars.compile('Index template in code')
});
FYI
对于可能稍后定义模板的视图类(例如, 另一个
{{view}}
Handlebars助手调用的块部分 模板或子类),您可以提供defaultTemplate
属性设置为已编译的模板函数。如果模板不是 稍后为视图实例提供了defaultTemplate
值 将被使用:
AView = Ember.View.extend({
defaultTemplate: Ember.Handlebars.compile('I was the default'),
template: null,
templateName: null });
答案 1 :(得分:0)
将templateName: 'index'
添加到App.IndexView
。看起来路由器需要/想要一个名为index
的模板以及你在JSFiddle中使用它的方式,路由器无法找到它。
App.IndexView = Ember.View.extend({
template: Ember.Handlebars.compile('Index template in code'),
templateName: 'index'
});