【发布时间】:2016-07-14 07:39:21
【问题描述】:
我遇到这种情况,我正在迭代来自端点的 json 响应:
控制器代码块:
$http({
method: 'GET',
url: 'http://mywebsite.com/api/v1/stores/'
}).
success(function(data, status, headers, config) {
$scope.stores = data;
}).
error(function(data, status, headers, config) {
$scope.name = 'Error!';
});
在我的 html 视图方面,我有这个:
<tbody>
<tr ng-repeat="store in stores">
<td>{{store.name}}</td>
<td> {{store.type}} </td>
<td><span ng-repeat="client in retrieveClientName(store.client_id)">
{{client.name}}
</span>
</td>
<td>{{store.address}}</td>
</tr>
</tbody>
如您所见,我正在尝试使用从 stores 数组中的值接收 store.client_id 的函数来检索客户端名称。通常使用由 ng-click 触发的函数会很容易,但我如何在迭代时“即时”实现这一点? 因为执行这个我会得到一种无限循环,它会完全分开。
这是在控制器端返回客户端名称的函数的代码:
$scope.retrieveClientName = function(id) {
$http({
method: 'GET',
url: 'http://mywebsite.com/api/v1/clients?client_id='+id
}).
success(function(data, status, headers, config) {
return $scope.clients=data;
}).
error(function(data, status, headers, config) {
$scope.name = 'Error!';
});
}
我也尝试过使用 mg-init 指令
<td ng-init="clients=retrieveClientName(store.client_id)"><span ng-repeat="client in clients">{{client.name}}</span></td>
【问题讨论】:
-
你为什么要在这里重复?
<span ng-repeat="client in retrieveClientName(store.client_id)"> {{client.name}} </span>isnt clientName 一个字符串?
标签: javascript angularjs ng-repeat ng-init