我们如何检查类似的东西
if( status == 0 ){
//show pending
}
if( status == 1) {
// show ok
}
if( status == 2 ){
// done
}
这个在胡子图书馆。我们可以在模板中提供逻辑吗?
我们如何检查类似的东西
if( status == 0 ){
//show pending
}
if( status == 1) {
// show ok
}
if( status == 2 ){
// done
}
这个在胡子图书馆。我们可以在模板中提供逻辑吗?
Mustache 模板语言显式地尽可能少逻辑。
但是,您可以使用 section 结构来做您想做的事情。为您的对象添加待处理、确定和完成的布尔值,然后执行以下操作:
{{#pending}}
// show pending
{{/pending}}
{{#ok}}
// show ok
{{/ok}}
{{#done}}
// show done
{{/done}}
这实际上将比较逻辑移动到您的实际代码中,这意味着模板可以保持无逻辑。
(您在标签中提到了handlebars.js。如果您使用的是Handlebars,理论上您可以通过执行类似的操作来扩展语言,但这与使用无逻辑模板语言的想法背道而驰。您甚至可以抓住扩展集合,但到那时我建议完全使用另一种模板语言。)
我建议试试 Moxy-Stencil:https ://github.com/dcmox/moxyscript-stencil
它主要是无逻辑的,但支持辅助参数,这似乎解决了大多数人对无逻辑模板的抱怨,例如:
{{{isActive home}}}
在视图中:
view = {
isActive: function(path: string){ return path === this.path ? "class='active'" : '' }
}