使用Mustache访问列表的最后一个条目

时间:2014-04-16 11:55:01

标签: javascript mustache templating

有没有办法用Mustache显示列表的最后一个条目?

我知道可以通过this answer中描述的索引显示数组元素:

// use first element of array a
{{a.0}}

我试过(不是我以为它会起作用):

{{a.a.length.someVariable}}

胡子里有这样的东西吗?

1 个答案:

答案 0 :(得分:1)

我想到了以下解决方法:向原始对象添加一个函数来抓取原始数组的最后一个元素。

var template = $('#the-stooges').html();
Mustache.parse( template );
var init_array = {
  "stooges": [
    { "name": "Moe" },
    { "name": "Larry" },
    { "name": "Curly" }
  ]
};

var func_var = {
    "last_stooge": function () {
        var last = this.stooges.length - 1;
        return this.stooges[last].name;
      }
};

$.extend( init_array, func_var ); // http://stackoverflow.com/a/10384883/1287812
var rendered = Mustache.render( template, init_array );
$('#target').html( rendered );

模板:

<div id="target">Loading...</div>
<script id="the-stooges" type="x-tmpl-mustache">
    {{last_stooge}}
</script>