gpt4 book ai didi

javascript - Mustache.js 中数组元素的索引

转载 作者:可可西里 更新时间:2023-11-01 01:45:22 25 4
gpt4 key购买 nike

这是我想在 Mustache.js 中做的,但没有看到如何使用文档。

var view = {items:['Mercury','Venus','Earth','Mars']};
var template = "<ul> {{#items}}<li>{{i}} - {{.}}</li>{{/items}} </ul>";
var html = Mustache.to_html(template,view);

期望的输出:

<ul>
<li>0 - Mercury</li>
<li>1 - Venus</li>
<li>2 - Earth</li>
<li>3 - Mars</li>
</ul>

最佳答案

正在寻找快速清洁解决方案?

简单地添加一个index函数

var data = {
items: [{
name: Aliasghar
, grade: 19
}, {
name: Afagh
, grade: 20
}]
, index: function() {
return ++window['INDEX']||(window['INDEX']=0);
}
}

你的模板可能是这样的:

{{#items}}
{{index}} -- {{name}} is {{grade}}
{{/items}}

工作原理

我们将 index: function(){} 添加到数据中,并将其用作模板中的普通函数。此函数向全局可用的 window 对象添加一个键;然后一个一个增加。

与多个列表一起使用

请注意,如果您一个接一个地使用多个模板,您需要重置 window['INDEX'] 或将它的键更改为其他内容,例如 window['YEKI_DIGE'] 。另一种方法是添加 resetIndex 函数。方法如下:

var data = {
items: [{
name: Aliasghar
, grade: 19
}, {
name: Afagh
, grade: 20
}]
, index: function() {
return ++window['INDEX']||(window['INDEX']=0);
}
, resetIndex: function() {
window['INDEX']=null;
return;
}
}

你的模板可能是这样的:

{{#items}}
{{index}} -- {{name}} is {{grade}}
{{/items}}
{{resetIndex}}

受此答案启发:https://stackoverflow.com/a/10208239/257479来自 daveIn Mustache, How to get the index of the current Section

关于javascript - Mustache.js 中数组元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8567413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com