什么是$$ 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