我希望根据javascript定义的变量在我的模板中显示与json不同的内容。
这是JSON文件:
{
"normal" :{
"content":"content"
}
"expert" :{
"content":"content"
}
[HTML]现在在我的模板中,我有这个:
{{#with normal}}
<p>{{content}}</p>
{{/with}}
现在我希望能够使用'with normal'或'with expert',具体取决于javascript端定义的变量。
我已经做了一个比较助手但是,我必须使用两次代码,这很难看。所以也许有人知道如何正确地做到这一点?感谢。
答案 0 :(得分:2)
你真的需要模板中的逻辑吗?
如果{{#with}}
块的正文对于normal
或expert
类型的数据是相同的,那么您可以完全摆脱with
并传递相应的阻止进入模板。这会将逻辑推回到脚本中(并且希望视图,如果你有一个MVC框架),这很好,并优化了模板的级别(也很好,特别是因为它是with
,往往很慢。
请注意,Handlebars非常乐意使用更多数据来获取一个对象,因此编写一个取决于normal
块的模板并将expert
传递给其他人细节(大概)根本不会引起任何问题。
答案 1 :(得分:0)
您可以使用{{#if和else ... 此外,您可以使处理程序全局并使用它两次。