AngularJS模板不能使用密钥中包含连字符的JSON。
e.g。
我的Json看起来像
{
...
link: {
xx-test:{
href: '/test/xx'
}
}
现在,在我的angularjs模板中,如果我引用href它不起作用
<a ng-href="/app/edit?item={{item.link.xx-test.href}}"></a>
无法解析href呈现为的值 /应用/编辑?项目=
尝试了
<a ng-href="/app/edit?item={{'item.link.xx-test.href'}}"></a>
<a ng-href="/app/edit?item={{item.link.xx\-test.href}}"></a>
<a ng-href="/app/edit?item={{item.['link.xx-test'].href}}"></a>
答案 0 :(得分:22)
对象键需要引用:
$scope.bar = {'xx-test':'foo'};
角度表达式中应使用括号表示法。
<p>{{bar['xx-test']}}</p>
您可以选择转义角度表达式中的连字符\-
。
答案 1 :(得分:2)
尝试{{item.link ['xx-test']。href}}
有关括号表示法的进一步阅读:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects