12

AngularJS 模板不能使用键中包含连字符的 JSON。

例如

我的 Json 看起来像

{
   ...
   link: {
       xx-test:{
            href: '/test/xx'
         }
}

现在,在我的 angularjs 模板中,如果我引用 href 它不起作用

<a ng-href="/app/edit?item={{item.link.xx-test.href}}"></a>

无法解析值 href 呈现为 /app/edit?item=

它试过了

<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>
4

2 回答 2

22

The object key needs to be quoted with:

$scope.bar = {'xx-test':'foo'};

Bracket notation should be used in the angular expression.

<p>{{bar['xx-test']}}</p>

You can optionally escape the hyphen \- in the angular expression.

于 2013-07-10T23:15:39.413 回答
2

试试 {{item.link['xx-test'].href}}

有关括号符号的进一步阅读:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

于 2013-07-10T23:08:51.563 回答