Meteor:如何在Spacebars中使用对象名称,包括短划线

时间:2015-04-08 20:29:27

标签: meteor meteor-blaze

在任何地方找不到答案,但也许你们中的一个人都知道。

我从http.call('GET')获取数据,我可以正确使用数据 像

这样的空间栏
{{anydata.specificdata}}  

但没有机会使用包含破折号的对象名称的数据,如

{{anydata.specific-data}}

我试过

{{anydata.'specific-data'}}

,但这也不起作用。 当我正在检索大量不同的数据时,我想避免为包含破折号的每个字段创建帮助程序。

有谁知道如何处理像

这样的事情
{{anydata.specific-data}?

感谢任何有帮助的答案。

玩得开心!

3 个答案:

答案 0 :(得分:3)

我在流星形式上找到答案:https://forums.meteor.com/t/dash-character-in-spacebars/2885

我遇到了类似的问题。我有一个带变量名称的破折号的json对象。要使用短划线调用对象,请执行以下操作:

{{some.json.object.[with-a-dash]}}

注意。在开放括号之前,在名为item的短划线周围没有引号(单引号或双引号)。

答案 1 :(得分:0)

在HTTP成功回调上将数据对象属性从破折号映射到camelcase,然后使用新对象。

答案 2 :(得分:0)

有些日子离线了...

我没有找到一个很好的解决方案(由于htpp结果中数组和对象的意外组合),但是工作原理:

我使用EJSON.stringify()来对http结果进行字符串化并使用正则表达式替换对象键中的破折号,然后使用EJSON.parse()使其再次成为对象。完成。

不是很优雅但工作得很好而且很快。

玩得开心!