9

是否可以在 mustache.js 模板中进行计算?

我想ratio乘以一个固定数量的值,例如 240

我的标签如下所示:

<div><img src="https://s3.amazonaws.com/com.myapp.demo/{{url}}" class="item" style="height:{{ratio * 240}}"></div>

由于url值显示正确,我觉得一定是计算给我带来了麻烦。

4

1 回答 1

10

选项1

您可以使用以下函数执行此操作:

模板:

<div>
  <img src="https://s3.amazonaws.com/com.myapp.demo/{{url}}" 
       class="item" style="height:{{#ratio}} {{x240Times}} {{/ratio}}">
</div>

代码:

Mustache.render(template,{
 ratio: 2,
 x240Times: function() {
    return this.ratio * 240;
  }
});

选项 2

您还可以使用我的扩展mustache-wax在模板中使用格式化程序,例如:

定义一个接受一个参数的“乘法”格式化程序:

Mustache.Formatters = {
    "multiply": function (value, multiplier) {
        return value * multiplier;
    }
}

在您的模板中使用它:

<div>
  <img src="https://s3.amazonaws.com/com.myapp.demo/{{url}}" 
       class="item" style="height:{{ratio | multiply:240}}">
</div>
于 2015-01-06T14:01:10.037 回答