什么是$$ hashKey添加到我的JSON.stringify结果中

我曾尝试在其文档的Mozilla JSON字符串化页面上以及在SO和Google上查看,但没有找到解释。我已经使用JSOn字符串化很多次了,但是从未遇到过这个结果

我有一个JSON对象数组

[

{

"param_2": "Description 1",

"param_0": "Name 1",

"param_1": "VERSION 1"

},

{

"param_2": "Description 2",

"param_0": "Name 2",

"param_1": "VERSION 2"

},

{

"param_2": "Description 3",

"param_0": "Name 3",

"param_1": "VERSION 3"

}

]

附加到我的$scope并且为了将POST它们作为一个参数,我使用了JSON.stringify()方法,我得到了以下信息:

   [

{

"param_2": "Description 1",

"param_0": "Name 1",

"param_1": "VERSION 1",

"$$hashKey": "005"

},

{

"param_2": "Description 2",

"param_0": "Name 2",

"param_1": "VERSION 2",

"$$hashKey": "006"

},

{

"param_2": "Description 3",

"param_0": "Name 3",

"param_1": "VERSION 3",

"$$hashKey": "007"

}

]

我只是想知道$$ hashkey到底是什么,因为我期望从stringify方法获得与以下类似的东西:

[

{

"1":{

"param_2": "Description 1",

"param_0": "Name 1",

"param_1": "VERSION 1"

},

"2":{

"param_2": "Description 2",

"param_0": "Name 2",

"param_1": "VERSION 2"

},

"3":{

"param_2": "Description 3",

"param_0": "Name 3",

"param_1": "VERSION 3"

}

}

]

我不确定这是否是一个因素,但我正在使用 Angularjs 1.1.5, JQuery 1.8.2 and Spring 3.0.4 and Spring

security 3.0.7 on the Server side

它不会给我造成任何问题,但我想知道导致该问题的原因和原因。 $$hashkey

回答:

Angular添加了此功能来跟踪您的更改,因此它知道何时需要更新DOM。

如果您使用angular.toJson(obj)而不是JSON.stringify(obj)Angular,则会为您去除这些内部使用值。

另外,如果您更改重复表达式以使用track by {uniqueProperty}后缀,则Angular根本不需要添加$$hashKey。例如

<ul>

<li ng-repeat="link in navLinks track by link.href">

<a ng-href="link.href">{{link.title}}</a>

</li>

</ul>

只是永远记住,您需要“链接”。表达的一部分-我总是倾向于忘记这一点。只是track by href肯定不会工作。

以上是 什么是$$ hashKey添加到我的JSON.stringify结果中 的全部内容, 来源链接: utcz.com/qa/423003.html

回到顶部