为什么我的Ember模板不会渲染?

时间:2013-03-28 00:41:29

标签: javascript model-view-controller ember.js javascript-framework

Here's a fiddle for this question(在第5行添加/删除单斜杠并重新运行)

基本上,我的应用程序模板有两种绑定方式(正确的术语?)。我希望这两种方式都可以工作,但有一种方法有效,有一方无效。

作品

this.register( 'view:application',     Ember.View.extend());
this.register( 'template:application', Ember.Handlebars.compile( 'Hello, world!' ));

this.register( 'view:application', Ember.View.extend({
  'template': Ember.Handlebars.compile( 'Hello, world!' )
}));

所有资源/路线似乎都是如此,而不仅仅是在应用程序级别。

那么,为什么第二种方法不起作用?

修改:这是一个another fiddle,它使用上面的方法2(已损坏)成功显示了Handlebars视图助手。这似乎只是路径视图的一个问题。

编辑2 :感谢c4p以下是Github上的问题

1 个答案:

答案 0 :(得分:1)

看看这个related question

简短摘要:

  • Ember希望在全局变量Ember.TEMPLATES中找到模板。使用Ember.Handlebars.compile时,已编译的模板将放入全局变量Handlebars.templates
  • 如果您想以这种方式使用编译,您必须执行以下操作:

Ember.TEMPLATES['posts-template'] = Ember.Handlebars.compile('I am the template');
App.PostsView = Ember.View.extend({
    templateName: 'posts-template'
});