在最近的Ember.js版本中的Ember.View中定义应用程序模板

在最近的Ember.js版本中的Ember.View中定义应用程序模板,ember.js,Ember.js,我最近升级到了最新的Ember.js版本(从GitHub页面构建) 使用新路由器时,这是否不再有效 App.ApplicationView = Ember.View.extend({ template: Ember.Handlebars.compile("Hello") }); 我更喜欢在js文件中定义模板,而不是index.html。我相信它更干净。但是,上面的内容无法渲染 有什么建议吗?谢谢 对于Ember 1.0,模板应该在index.html中定义,或者在通过构建工具提供给应用

我最近升级到了最新的Ember.js版本(从GitHub页面构建)

使用新路由器时,这是否不再有效

App.ApplicationView = Ember.View.extend({
    template: Ember.Handlebars.compile("Hello")
});
我更喜欢在js文件中定义模板,而不是index.html。我相信它更干净。但是,上面的内容无法渲染


有什么建议吗?谢谢

对于Ember 1.0,模板应该在
index.html
中定义,或者在通过构建工具提供给应用程序的单独文件中定义

一些例子:

如果您真的非常想将模板放在JavaScript中,可以将其放在应用程序模板中:

<script type="text/x-handlebars">
  {{view App.MyView}}
</script>

也就是说,在Ember中,最好的方法是为每个路线使用外部模板,无论是在开始时在HTML中,还是使用构建步骤,以便将它们排除在index.HTML之外。

我觉得这就是答案。我曾经认为我的模板“属于”我的视图,但似乎Ember正在朝着模板用于构建UI的方向发展,视图只需要响应用户事件(有时)。我相信这是最好的方式,但我必须开始有点不同的想法!那对我来说也是一个关键时刻。视图是模板的可选组件,这是一个奇怪的想法。有没有办法将{{outlet}}连接到使用自定义视图呈现的应用程序模板?使用{outlet}}似乎无法正确连接。
App.MyView = Ember.View.extend({
  template: Ember.Handlebars.compile("Whatever you want here")
});