Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将下划线模板传递给json数组_Javascript_Json_Underscore.js_Underscore.js Templating - Fatal编程技术网

Javascript 将下划线模板传递给json数组

Javascript 将下划线模板传递给json数组,javascript,json,underscore.js,underscore.js-templating,Javascript,Json,Underscore.js,Underscore.js Templating,我觉得这应该是可能的,但我不能让它工作。基本上,使用下划线和jQuery我有一个模板,然后我有一个要发送到模板的对象数组。看起来是这样的: var template = _.template($("script.template").html()); var jA = data.jsonArray; $("#results").html(_.template(template(jA))); 我希望它将模板应用于数组中的每个对象,但它不起作用 如果我做一个循环,它会工作,但这似乎是不必要的 $.

我觉得这应该是可能的,但我不能让它工作。基本上,使用下划线和jQuery我有一个模板,然后我有一个要发送到模板的对象数组。看起来是这样的:

var template = _.template($("script.template").html());
var jA = data.jsonArray;
$("#results").html(_.template(template(jA)));
我希望它将模板应用于数组中的每个对象,但它不起作用

如果我做一个循环,它会工作,但这似乎是不必要的

$.each(jA, function(index,value){
   $("#results").append(_.template(template(value)));
});
我是错过了什么,还是我必须做这个混乱的循环?(jA绝对是一个json数组)


谢谢:)

是的,你需要做循环。下划线不会自动循环并重复附加处理过的模板,因为您为其提供了数组。我也不知道为什么您认为它应该是不必要的——如果您有一个模板专门需要列表中某个索引元素中的内容,比如

不管怎么说,这个循环其实并不麻烦:

_.each(data, function(item) {
  list.append(template(item));
});

如果有帮助的话,请看这里。

您能为script.template标记添加代码吗?jA是一个JSONArray,因为它来自jQuery getJSON,它将数据解析为JSON。我希望它能做循环,因为如果它得到一种数组类型,它会做一些不同于得到一个JSONObject的事情。是的,但是附件速度很慢,所以我不得不把它全部写出来,然后把html放在最后,这似乎是不必要的,我觉得应该用下划线更干净地处理它,虽然我知道这是一个极简主义的图书馆。