【问题标题】:AngularJS getting JSON value to ng-repeatAngularJS 将 JSON 值传递给 ng-repeat
【发布时间】:2015-04-08 17:47:08
【问题描述】:

我正在关注 json,并想重复并绑定 value,但它似乎有问题。

JSON

{
    "1428394433116":[
        {
            "path":"path0","value":"test path 2"
        },
        {
            "path":"path1","value":"test path 1"
        }
    ],
    "1428467596813":[
        {
            "path":"path0","value":"path info 1"
        },
        {
            "path":"path1","value":"path info 2"
        },
        {
            "path":"path2","value":"path info 3"
        }
    ] }

ng-repeater

<p ng-repeat="p in ps">
    <label>Path <span ng-bind="$index"></span> :</label>
         <span class="normal-f">
              <span ng-bind="p.value"></span>
              <input type="text" ng-model="a.path[$index]">
         </span>
</p>

更新

谢谢,一个模块的 ID-1428394433116 和另一个模块的 ID-1428467596813。

所以预期的结果是:

path 1: test path 2
path 2: test path 1

【问题讨论】:

  • 我猜你需要在你的 ng-repeat 中写 ps.1428394433116,因为值在这个“1428394433116”里面。但它只会给出与此相关的值,而不是“1428467596813”。
  • 如果您从中获得帮助,请接受答案,以便其他人也可以得到帮助。

标签: javascript json angularjs


【解决方案1】:

您尝试将数组绑定为该行上的字符串 &lt;span ng-bind="p.value"&gt;&lt;/span&gt;

p.value 不存在,因为p 是一个数组。 第一个p 应该是这样的:

[
    {
        "path":"path0","value":"test path 2"
    },
    {
        "path":"path1","value":"test path 1"
    }
]

您必须为p 使用另一个ngRepeat,否则您必须每次都像这样&lt;span ng-bind="p[0].value"&gt;&lt;/span&gt; 使用第一个元素

这意味着最好的方法应该是这样的:

<p ng-repeat="(ID, p) in ps"><!-- here you get the index (ID) and the Array (p) -->
    <label>Path <span ng-bind="ID"></span> :</label>
    <span ng-repeat="element in p track by $index" class="normal-f"><!-- here comes the other repeat -->
        <span ng-bind="element.value"></span>
        <input type="text" ng-model="a.path[$index]">
    </span>
</p>

【讨论】:

  • 谢谢,一个模块的 ID-1428394433116 和另一个模块的 ID-1428467596813。所以预期的结果是:路径1:测试路径2路径2:测试路径1
【解决方案2】:

这里的 JSON 数据包含另一个 JSON 数据。

所以“1428394433116”包含一组数据或 JSON,而“1428467596813”包含另一组 JSON。所以你需要分别使用 ps.1428394433116 和 ps.1428467596813 来获取价值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 2019-05-25
    • 2016-11-28
    • 1970-01-01
    相关资源
    最近更新 更多