eri*_*bae 2 javascript backbone.js handlebars.js
我正在使用 PHP 后端、Backbone.js 和 Handlebars.js。我的javascript请求数据,成功返回JSON数据(json_encode)。
当我将此 JSON 数据提供给把手模板时,它没有显示。我意识到 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;
}
});
Run Code Online (Sandbox Code Playgroud)
现在,如果我取出括号,它就可以正常工作。这是怎么回事?为什么首先有方括号?我该如何摆脱它们?
调用 Handlebars 来循环遍历集合的输出是完全合理的。对于视图中的数据处理,数组也不是一个糟糕的设计决策。
Handlebars 具有处理数字或符号标识符的特殊语法,如此处所述。因此,更正确的答案是 Handlebars 可以像这样访问模板中的数组:
{{people.attributes.[0]}} // akin to people.attributes[0]
{{people.attributes.[1]}} // akin to people.attributes[1]
Run Code Online (Sandbox Code Playgroud)
输入:mails:[{headers: {subject: ["Hello Darling", "...another"]}}, ...more ]
<ul>
{{#each mails}}
<li>.
{{headers.subject.[0]}}
</li>
{{/each}}
</ul>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3663 次 |
| 最近记录: |