2016-02-27 61 views
0

我想使用從ng-repeat獲得的變量來訪問作用域內的一個對象。Angular 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}}; 

回答

1

因爲block是一個變量,所以你不能用它作爲重點,你需要修改一樣:

<td ng-repeat="block in blocks">{{ data[block].term }}</td> 
0

你不能這樣用戶,因爲數據需要索引你沒有提供索引塊是不是指數的情況下

您應該使用

{{ data[block.$index].term }} 
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>