只有在迭代JSON对象时,才能使用ne-ng重复语法

时间:2014-06-09 10:54:04

标签: javascript json angularjs

我使用ng-repeat="(key, value)"语法来迭代JSON对象,但是当我使用复选框时,我从未真正需要value变量。是否有更简洁的方法来执行以下操作:

编辑: HAML令人困惑,所以这里是纯HTML /角度:

<!-- "(key, val) in object" allows me to do everything, but value variable is wasted -->
<label ng-repeat="(attribute, value) in object">
    <input type="checkbox" ng-model="object[attribute]"/>
    {{attribute}}
</label>

请注意,我实际上使用attribute作为ng-model(仅在绑定到value 时无法正常工作)和复选框标签。这里没有逃脱钥匙。我不需要的是 value 变量。

您确实可以执行ng-repeat: "value in object",但value未在复选框上正确绑定,而且,再次,我没有为标签提供一些内容:

<!-- "val in object" does not give me a label for checkboxes, and does not bind correctly -->
<label ng-repeat="value in object">
    <input type="checkbox" ng-model="value"/> <!-- changing this checkbox does not update the parent scope -->
    {{attribute}} <!-- does not exist in scope -->
</label>

这是一个演示上述内容的小提琴:http://jsfiddle.net/Zb5bA/8/

1 个答案:

答案 0 :(得分:3)

无法仅对密钥进行迭代,因此必须使用

ng-repeat="(key, value) in object"

你不能忽视这里的价值。