ng-repeat显示视图中的键值

时间:2017-01-01 05:49:42

标签: javascript angularjs angularjs-ng-repeat

http://jsfiddle.net/qq2L34eb/1/

我想显示星期一,但是attr值等于使用ng-repeat的值。

$scope.days = [{
    "Mondays": 1
}, {
    "Tuesdays": 2
}];

但我得到了整个对象。

http://jsfiddle.net/qq2L34eb/1/

有任何线索吗?

3 个答案:

答案 0 :(得分:3)

你需要在里面使用另一个ng-repeat,

<div ng-controller="MyCtrl">
  <span ng-repeat="(key, value) in days">
    <span ng-repeat="(key, value) in value">
                   <input type='checkbox' value="{{value}}" check-list='checked_days'> {{key}}
    </span>
   </span>
</div>

样本

http://jsfiddle.net/sajeetharan/2obrb921/

答案 1 :(得分:0)

2件事 -

1)您的对象数组可以更改。

你的$scope.days是一个数组,它应该是对象。 喜欢这个

  $scope.days = {
    "Mondays": 1
  , 
    "Tuesdays": 2
  }

请参阅fiddle

2)如果您不想更改对象数组,请在其中添加另一个ng-repeat。就像@Sajeetharan提到的那样 -

<span ng-repeat="(key, value) in days">
<span ng-repeat="(key, value) in value">
               <input type='checkbox' value="{{value}}" check-list='checked_days'> {{key}}
</span>
</span>

答案 2 :(得分:-1)

根据你在jtml写的js小提琴---

<span ng-repeat="pp in days">
    <input type='checkbox' value="{{pp.key}}" check-list='checked_days'> {{pp.value}}
</span>

在控制器---

 $scope.days = [{
    "key": "1","value":"Monday"
  }, {
    "key": "2","value":"Tuesday"
  },  ]

你可以找到这样的结果 -

enter image description here

小提琴 http://jsfiddle.net/qq2L34eb/2/