我有一个按预期呈现的预编译车把模板。
我决定向我正在预编译的模板添加一个嵌入的(非预编译的)部分引用,但部分的内容没有正确呈现。
最终结果是嵌入部分的内容包含在呈现的 HTML 中(我想我的部分是“部分”工作 :-D ),但是:
- 部分的名称也包含在每一行中
- 部分中的表达式未填充我的数据
这是呈现的 HTML。下面列出了部分命名的 3 行templateBodyItemNumberPartial
(部分名称似乎是每行输出的前缀),并且没有数据呈现在<span>
:
<div class="templateBodyItem">
templateBodyItemNumberPartial
templateBodyItemNumberPartial <span class="templateBodyItemNumber"></span>
templateBodyItemNumberPartial
this is my body text
<div class="templateBodyItemFooter">this is my footer text</div>
</div>
templateBodyItemNumberPartial
这是引用部分的主要预编译模板:
{{! templates/nameWithPartial.handlebars }}
{{! precompiled via: handlebars ./templates/nameWithPartial.handlebars -f external_template_with_partial.js }}
<div class="templateBodyItem">
{{> templateBodyItemNumberPartial }}
{{ templateBodyItem }}
<div class="templateBodyItemFooter">{{ templateBodyFooter }}</div>
</div>
这是我定义/注册部分并调用我的预编译nameWithPartial
模板的 .html 文件:
<script type="text/javascript" src="./handlebars-v2.0.0-alpha.4.js"></script>
<script type="text/javascript" src="./external_template_with_partial.js"></script>
<script id="templateBodyItemNumberPartial" type="text/x-handlebars-template">
<span class="templateBodyItemNumber">{{ templateBodyItemNumber }}</span>
</script>
var templateBodyObject = {
templateBodyItemNumber : 4 ,
templateBodyItem : 'this is my body text' ,
templateBodyFooter : 'this is my footer text'
};
// verify that the partial html is what I think it should be
console.log( $( '#templateBodyItemNumberPartial' ).html() );
//=> <span class="templateBodyItemNumber">{{ templateBodyItemNumber }}</span>
Handlebars.registerPartial( 'templateBodyItemNumberPartial' , $( '#templateBodyItemNumberPartial' ).html() );
var templateHtml = Handlebars.templates.nameWithPartial( templateBodyObject );
我正在尝试使用嵌入式局部来测试局部在车把中的工作方式。
任何人都可以确认是否支持此功能,或者如果我的引用部分的主模板是预编译的,我是否必须使用预编译的部分?
非常感谢!
顺便说一句,我正在运行 Win7 Pro 64 位,但希望这不是问题......