【问题标题】:Switch case in MustacheJsMustacheJs 中的开关盒
【发布时间】:2012-04-24 11:05:04
【问题描述】:

使用 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

【问题讨论】:

    标签: javascript templates logic mustache presentation


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 2017-02-08
      • 2017-07-25
      相关资源
      最近更新 更多