不显示angularjs中包含`.`的对象项

时间:2015-07-08 07:15:15

标签: javascript json angularjs

以下JSON项目未显示在angularjs。

error = {
    "name": [
        "The name field is required."
    ],
    "salary.salary_id": [
        "The salary.salary id field is required."
    ]
}

当我尝试使用angularjs显示错误时,

{{error.name[0]}} 

输出为The name field is required

当我试图显示第二个时,

{{error.salary.salary_id[0]}}

它什么都没有显示,我希望.运算符的问题放在键名中。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

只要对象[]包含特殊字符,就使用key表示法。

{{error['salary.salary_id'][0]}}

当您使用{{error.salary.salary_id[0]}}获取值时,它会在salary内搜索error的密钥,然后尝试在{{1}内找到salary_id密钥,未定义。

答案 1 :(得分:1)

使用括号表示法代替点表示法:

salary

检查:bracket vs dot notation

答案 2 :(得分:0)

java开发人员在javascript / html中将点添加到元素的id属性中是一个常见问题。它会导致很多冲突和问题。您可以像数组(error['salary.salary_id'])一样阅读它,但将来会遇到更多问题(在CSS中,圆点是样式类)。

请注意,我的意图是你可以避免ids中的点。

祝你好运。