Javascript 在handlebar.js中使用具有数字属性的对象
是否可以对具有数字键的对象使用把手 例如:Javascript 在handlebar.js中使用具有数字属性的对象,javascript,handlebars.js,Javascript,Handlebars.js,是否可以对具有数字键的对象使用把手 例如: var str = "<div>{{apples}}</div>", tmpl = Handlebars.compile(str); tmpl({apples: "works!"}); // returns "<div>works!</div>" var str=“{{apples}}”, tmpl=handlebar.compile(str); tmpl({apples:“works!”})
var str = "<div>{{apples}}</div>",
tmpl = Handlebars.compile(str);
tmpl({apples: "works!"}); // returns "<div>works!</div>"
var str=“{{apples}}”,
tmpl=handlebar.compile(str);
tmpl({apples:“works!”});//返回“工作!”
很好,但是
var str = "<div>{{4}}</div>",
tmpl = Handlebars.compile(str);
tmpl({4: "works!"});
// returns Error: Parse error on line 1: <div>{{4}}</div> -------^ Expecting 'DATA', 'ID', got 'INTEGER'
var str=“{4}}”,
tmpl=handlebar.compile(str);
tmpl({4:“工作!”});
//返回错误:第1行上的分析错误:{{4}----^应为'DATA','ID',应为'INTEGER'
在搜索时,我找不到任何与此相关的引用,而且我还没有研究源代码。因此,在进一步查找后,我发现我需要将数字括在方括号中,如:
{{[4]}
这里有一个半相关SO问题的链接
上面的链接提到访问数组项,但答案让我想到尝试将数字路径用方括号括起来。作为旁白:Handlebar作者将这些括号称为括号,以引用实际标识符(而不是索引号),否则这些标识符将无效。更多细节在尼斯!也可以使用Meteor JS Blaze模板,因为我刚刚发现了这一点。