gpt4 book ai didi

json - json 对象的 Handlebars 数组

转载 作者:IT老高 更新时间:2023-10-28 12:51:38 31 4
gpt4 key购买 nike

我需要用 Handlebars 模板化一个 json 对象数组:(通过 chrome 控制台)[object,object,object,object] 其中每个对象都由这个属性组成:name,surname,ecc。

我知道将对象数组放在 Handlebars 中是不可能的,但我们必须创建一个具有所有数组对象的所有属性的唯一对象。任何人都可以建议我创建它的功能

最佳答案

您可以在调用模板时将数组设置为包装对象的属性。

例如,以 objects 作为持有属性

var an_array = [
{name: "My name"},
{name: "Another name"}
];

var source = /* a template source*/;
var template = Handlebars.compile(source);
var wrapper = {objects: an_array};

console.log(template(wrapper));

并且您的模板可以按如下方式使用此属性:

<ul>
{{#each objects}}
<li>{{name}}</li>
{{/each}}
</ul>

还有一个演示 http://jsfiddle.net/YuvNY/1/

var an_array=[
{name:"My name"},
{name:"Another name"},
];

var source = $("#src").html();
var template = Handlebars.compile(source);
$("body").append( template({objects:an_array}) );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v2.0.0.js"></script>

<script type='text/template' id='src'>
<ul>
{{#each objects}}
<li>{{name}}</li>
{{/each}}
</ul>
</script>


或者您可以直接将数组传递给模板并调用 each 助手并将上下文设置为 .(一个点)

var template = Handlebars.compile(source);
console.log(template(an_array));
<ul>
{{#each .}}
<li>{{name}}</li>
{{/each}}
</ul>

http://jsfiddle.net/nikoshr/YuvNY/32/

var an_array=[
{name:"My name"},
{name:"Another name"},
];

var source = $("#src").html();
var template = Handlebars.compile(source);
$("body").append( template(an_array) );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v2.0.0.js"></script>

<script type='text/template' id='src'>
<ul>
{{#each .}}
<li>{{name}}</li>
{{/each}}
</ul>
</script>

关于json - json 对象的 Handlebars 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11582756/

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