我遇到了使用ICanHaz.js / Mustache进行迭代的问题。我想循环JSON结构的根并提取一个特定的参数。这是我的JSON:
{
"1": {
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},
"2": {
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},
"3": {
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
}
}
这是我的ICanHaz模板:
<script id="groupselect_template" type="text/html">
{{ /. }}
<option value="{{name}}">{{name}}</option>
{{ /. }}
</script>
这是我的JS:
var iterationFunc = function(data) {
var temp = ich.groupselect_template(data);
$('#selectdiv').append(temp);
}
我将这个结构基于过去的答案(here,here和here),但我似乎无法让它发挥作用。有人可以帮忙吗?由于ICH里面有胡子,我知道更广泛的基于胡子的解决方案可以起作用。
答案 0 :(得分:0)
我认为你不能轻易地在胡子中循环对象属性。但是你可以通过数组来实现,所以如果可以的话,将你的JSON改为
[{
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},{
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},{
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
}]
或在将数据应用于模板之前,迭代它并将其更改为数组,例如使用jQuery
var dataArray = [];
$.each(data, function(key, item){
dataArray.push(item);
});
Here's一个工作小提琴