如何解决什么是 $$hashKey 添加到我的 JSON.stringify 结果
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
肯定行不通。
解决方法
我曾尝试查看他们文档的Mozilla JSON stringify页面以及 SO 和
Google 上的此处,但没有找到任何解释。我已经使用JSON.stringify
了很多次,但从未遇到过这个结果。
我有一个 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_1": "VERSION 1","$$hashKey": "005"
},{
"param_2": "Description 2","param_1": "VERSION 2","$$hashKey": "006"
},{
"param_2": "Description 3","param_1": "VERSION 3","$$hashKey": "007"
}
]
我只是对$$hashkey
属性到底是什么感到好奇,因为我期望该方法中的内容更类似于以下内容stringify
(即,没有$$hashkey
):
[
{
"1":{
"param_2": "Description 1","param_1": "VERSION 1"
},"2":{
"param_2": "Description 2","param_1": "VERSION 2"
},"3":{
"param_2": "Description 3","param_1": "VERSION 3"
}
}
]
我不确定这是否是一个因素,但我正在使用以下内容:
- Angularjs 1.1.5,
- jQuery 1.8.2
- spring 3.0.4
我还在服务器端使用 Spring security 3.0.7。
它没有给我带来任何问题,但我想知道原因和原因$$hashkey
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。