什么是$$ 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 那么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肯定不会工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

什么是原型,为什么将它们添加到我的json对象中

为什么BeautifulSoup将<html> <body> <p>添加到我的结果中?

为什么 Newtonsoft.Json.JsonConvert.SerializeObject 将“_repository”添加到我列表中的每个项目?

为什么我不能在golang中将主库添加到我的库中?

为什么我的图像没有添加到我的JButton中?

为什么将pod中的文件添加到我的覆盖率报告中?

为什么Kubuntu将.directoy文件添加到我的目录中?

为什么不能将项目添加到我的向量中?

为什么在 PhpStorm 中没有目录/文件可以添加到我的范围?

什么是BeautifulSoup4添加到我的SVG标签中?

为什么Protege将`xml`命名空间添加到我的本体中?

为什么Go将字节添加到我的字符串中?

猫鼬-这个额外的_id属性被添加到我的友谊属性中是什么?

什么是data-gr-cs-loaded =“ true”属性添加到我的代码中

为什么 Django 模板引擎将 myapp/myview 添加到我的 URL 中?

Swift:为什么在使用追加时没有元素添加到我的数组中?

为什么“ source〜/ .profile”不断添加到我的$ PATH中?

为什么将undefined添加到我的字符串中?

即使我正在执行添加操作,也没有什么添加到我的列表中?

为什么我不想在安装时将Python.exe添加到我的系统路径中?

当我使用sudo时,为什么不将此目录添加到我的PATH中?

为什么我的字典没有被添加到我的数组中?indexPath.row 返回 nil

我可以用什么方法将不同值的分数添加到我的代码中?

Kubernetes:我什么时候需要将 /bin/sh -c 添加到我的命令中?

为什么 rmarkdown 在我编织文件时将 NA 值添加到我的 ggplot 中?

为什么不能通过执行表的第二查询将第二结果添加到我的列表框中?的SQL

为什么在网址生成器中将“ +”添加到我的所有坐标中?

包括Google Play服务库时,为什么权限会自动添加到我的AndroidManifest中

该通知栏叫什么名称,如何将其添加到我的应用程序中?