0

在本周早些时候发布的 peepcode 截屏视频中,我注意到您可以使用类似的东西为车把模板内联提供约定

数据模板名称=“索引/表”

但是,如果我将此模板从我的 HTML 文件中移出到一个独立的 .handlebars 文件中,那么它的正确名称是什么?如果我预编译它,ember 需要将它设置为什么模板名称?

余烬.模板[???]

先感谢您

4

2 回答 2

2

我正在寻找的解决方案来自@wycats 本人

如果这是您的嵌套脚本模板(在某些 html 文件中)

<script type="text/x-handlebars" data-template-name="tables/index"></script>

并且您决定删除内联脚本并使其成为一个独立文件,您需要预编译它并像这样注册模板

var input = Ember.Handlebars.precompile("{{outlet}}");
Ember.TEMPLATES['tables/index'] = Ember.Handlebars.template(input);

这个文件将被称为 index.handlebars 嵌套在“tables”目录下,嵌套在“templates”目录下

对于任何关注这个的人,我确实为我为 django 开发人员编写的 npm 模块添加了对嵌套模板的支持(django-ember-precompile

于 2013-01-27T19:38:37.580 回答
1

我认为这在很大程度上取决于您用于编译 Ember 的内容。Brunch 的做法与 Sprockets 不同。

但是一些一般的事情:

如果模板位于 .handlebars 文件中,则文件本身不需要任何内容​​,除了模板中需要的内容。

文件结构和命名约定只需​​要与您的路由器相匹配。所以文件树可能如下所示:

javascripts/templates/index/tables.handlebars

使用 Rails Asset Pipeline 和 Ember Gem,不需要告诉 Ember 模板,只要它们在 app/assets/javascripts/templates 文件夹中。

当我们使用早午餐(但这是在旧版本的 Ember 上)时,我们必须手动要求所有文件,只需使用标准 JavaScript 要求,例如:

require('templates/topnav');
于 2013-01-27T16:17:12.523 回答