在我的meteor应用程序中,我有一个包含此语言列表的JSON文件:List of Language Codes in YAML or JSON?
Template.myProfile.helpers({
isoLang: function(){
return JSON.parse(Assets.getText("myfile.json"));
}
});
<select>
{{#each isoLang}}
whaterver i put here
{{/each}}
</select>
问题在于,无论我在帮助器中返回什么内容,只要我保存文件,我的应用程序模板就会更改为登录模板(即使用铁外部),并且它不明白它是如何实现的。< / p>
我试图将我的langauages列表作为js对象,但是从公共文件夹或myProfile子文件夹(在客户端文件夹中),它给我带来了同样的问题,无论我尝试什么,我都不会输入我的{{ #each}}条件。
我在使用这个json / js对象时做得怎么样?
谢谢你,大卫
答案 0 :(得分:0)
List of Language Codes既不是JSON数组(缺少方括号),也不是(Mongo)游标。空格键的#each是指
迭代数组或数据库游标(参见Meteor docs):
所以你需要将JSON对象转换为JSON数组。这是一个基本草图:
var JsonObj= {"a":"1","b":"2","c":"3","d":"4"};
var array = [];
var k = 0
for(var i in JsonObj) {
if(JsonObj.hasOwnProperty(i)) {
array[k++] = JsonObj[i];
console.log(">> " + JsonObj[i])
}
}
console.log(array);