在MustacheJs中切换案例

时间:2012-04-12 05:25:45

标签: javascript templates logic mustache presentation

使用Mustache js(一种逻辑减去模板)有没有办法实现切换案例?这个我需要因为一个类根据值分配给dom元素,例如:

switch(tasks.Count)
{
   case 0:
       element.Class = "no-tasks";
    break;
   case 1:
       element.Class = "one-tasks";
   break;
.
.
.
}

这是我现在获得的代码,我如何将其转换为模板(我相信在渲染模型上有方法是一个选项)但是添加方法来确定使用哪个类是一种过度杀伤,除此之外还会污染我的模特到沼泽地!!

  • 我问这个是因为我使用Nustache将一个MustacheJs的端口转换为C#,.NET来呈现嵌套模型。适用于Mustache的任何内容也适用于Nustache

1 个答案:

答案 0 :(得分:3)

有几种方法可以做到这一点。

在Javascript中,如果Mustache在值中遇到函数,它将使用附带的文本作为唯一参数来调用它。

var data = {
    foo: function(text) { return '<b>' + text + '</b>'; }
}

小胡子

{{#foo}}
   HI I LIKE FISH, thanks.
{{/foo}}

输出

<b>HI I LIKE FISH, thanks.</b>

在小胡子文档中搜索“lambda”。

另一种方法是做一个虚假/真实的检查。

数据

{ foo: true }

小胡子

{{#foo}}
  output this if true.
{{/foo}}
{{^foo}}
  output if false
{{/foo}}