在本周早些时候发布的 peepcode 截屏视频中,我注意到您可以使用类似的东西为车把模板内联提供约定
数据模板名称=“索引/表”
但是,如果我将此模板从我的 HTML 文件中移出到一个独立的 .handlebars 文件中,那么它的正确名称是什么?如果我预编译它,ember 需要将它设置为什么模板名称?
余烬.模板[???]
先感谢您
在本周早些时候发布的 peepcode 截屏视频中,我注意到您可以使用类似的东西为车把模板内联提供约定
数据模板名称=“索引/表”
但是,如果我将此模板从我的 HTML 文件中移出到一个独立的 .handlebars 文件中,那么它的正确名称是什么?如果我预编译它,ember 需要将它设置为什么模板名称?
余烬.模板[???]
先感谢您
我正在寻找的解决方案来自@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)
我认为这在很大程度上取决于您用于编译 Ember 的内容。Brunch 的做法与 Sprockets 不同。
但是一些一般的事情:
如果模板位于 .handlebars 文件中,则文件本身不需要任何内容,除了模板中需要的内容。
文件结构和命名约定只需要与您的路由器相匹配。所以文件树可能如下所示:
javascripts/templates/index/tables.handlebars
使用 Rails Asset Pipeline 和 Ember Gem,不需要告诉 Ember 模板,只要它们在 app/assets/javascripts/templates 文件夹中。
当我们使用早午餐(但这是在旧版本的 Ember 上)时,我们必须手动要求所有文件,只需使用标准 JavaScript 要求,例如:
require('templates/topnav');