0

使用 Mustache js(一种逻辑较少的模板)有没有办法实现 switch case?这是我需要的,因为根据值将一个类分配给 dom 元素,例如:

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

这就是我现在得到的代码,我如何将它转换为模板(我相信在正在渲染的模型上有方法是一种选择)但是添加方法来确定要使用哪个类是一种矫枉过正,除此之外还会污染我的模型沼泽!!

  • 我问这个是因为我使用 Nustache 将 MustacheJs 移植到 C#、.NET 来呈现嵌套模型。适用于 Mustache 的任何东西也适用于 Nustache
4

1 回答 1

4

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

在 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>

在 mustache 文档中搜索“lambda”。

另一种方法是进行虚假/真实检查。

数据

{ foo: true }

胡子

{{#foo}}
  output this if true.
{{/foo}}
{{^foo}}
  output if false
{{/foo}}
于 2012-04-12T05:42:28.817 回答