3

在最新的 ember 主版本中,我试图声明一个类似于这样的模板:

App.IndexView = Ember.View.extend({
  template: Ember.Handlebars.compile('Index template in code')
});

..它不工作。使用相同的代码并使用该templateName属性在 HTML 中引用模板可以正常工作。有任何想法吗?

这是一个带有周围代码和 HTML 的 jsfiddle:http: //jsfiddle.net/TTMMz/3/

4

2 回答 2

0

可能是一个错误,如果您尝试设置 defaultTemplate 而不是模板它将起作用。你也许应该提出一个问题。

App.IndexView = Ember.View.extend({
  defaultTemplate: Ember.Handlebars.compile('Index template in code')
});

供参考

对于可能具有稍后定义的模板的视图类(例如,作为{{view}}另一个模板或子类中的 Handlebars 助手调用的块部分),您可以为defaultTemplate 编译的模板函数提供属性集。如果稍后没有为视图实例提供模板,defaultTemplate则将使用该值:

AView = Ember.View.extend({
     defaultTemplate: Ember.Handlebars.compile('I was the default'),
     template: null,
     templateName: null   });
于 2013-01-18T03:49:15.130 回答
0

添加templateName: 'index'App.IndexView. 看起来路由器需要/想要一个名为的模板index,而您在 JSFiddle 中使用它的方式路由器找不到。

JSFiddle 示例

App.IndexView = Ember.View.extend({
  template: Ember.Handlebars.compile('Index template in code'),
  templateName: 'index'
}); 
于 2013-01-18T17:54:39.247 回答