我正在尝试使用从ng-repeat获取的变量来访问范围内的对象。
我的模板是:
<tr>
<td style="font-weight: bold">term</td>
<td ng-repeat="block in blocks">{{ data.block.term }}</td>
<td>{{ total.term }}</td>
</tr>
我的范围变量是:
$scope.blocks = ['A', 'B', 'C'];
$scope.data = {'A': {'term': 0, 'term2': 7}, 'B': {'term': 2, 'term2': 3}, 'C': {'term': 5, 'term2': 14}};
答案 0 :(得分:1)
由于block
是一个变量,因此您无法将其用作键,您需要修改为:
<td ng-repeat="block in blocks">{{ data[block].term }}</td>
答案 1 :(得分:1)
var app = angular.module("app",[]);
app.controller("MyCtrl", function($scope){
$scope.blocks = ['A', 'B', 'C'];
$scope.data = [{'term': 0, 'term2': 7}, {'term': 2, 'term2': 3}, {'term': 5, 'term2': 14}];
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="MyCtrl">
<table>
<tr>
<td style="font-weight: bold">term</td>
<td ng-repeat="block in blocks track by $index">{{ data[$index].term }}</td>
</tr>
</table>
答案 2 :(得分:0)
你不能像这样使用这个因为数据需要索引你不提供索引块不是索引
你应该使用
{{ data[block.$index].term }}