gpt4 book ai didi

javascript - Handlebars.js 不喜欢前面的方括号

转载 作者:行者123 更新时间:2023-11-30 10:47:36 24 4
gpt4 key购买 nike

我正在使用 PHP 后端、Backbone.js 和 Handlebars.js。我的javascript请求数据,成功返回JSON数据(json_encode)。

当我将此 JSON 数据提供给 handlebars 模板时,它没有显示。我意识到我的 JSON 对象前面和后面的方括号被 Handlebars.js “不喜欢”并且没有被显示。看看下面的代码。

var ArticleListView = Backbone.View.extend(
{
el: $('#main'),
render: function()
{
var template = Handlebars.compile($("#articles_hb").html());
$(this.el).html(template([{"articles":[{"title" : "1"}, {"title" : "2"}]}]));
return this;
}
});

现在,如果我去掉括号,它就可以正常工作了。这是怎么回事?为什么首先要有方括号?我该如何摆脱它们?

最佳答案

调用 Handlebars 循环遍历集合的输出是完全合理的。此外,数组对于 View 中的数据处理来说并不是一个糟糕的设计决策。

Handlebars 具有处理数字或符号标识符的特殊语法,as described here .因此,更正确的答案是 Handlebars 可以像这样访问模板中的数组:

{{people.attributes.[0]}} // akin to people.attributes[0]
{{people.attributes.[1]}} // akin to people.attributes[1]

输入:邮件:[{headers: {subject: ["Hello Darling", "...another"]}}, ...more ]

<ul>
{{#each mails}}
<li>.
{{headers.subject.[0]}}
</li>
{{/each}}
</ul>

关于javascript - Handlebars.js 不喜欢前面的方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7344132/

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