Json 在传递$scope之前如何编辑数据?
我与这个控制器有问题Json 在传递$scope之前如何编辑数据?,json,angularjs,service,controller,scope,Json,Angularjs,Service,Controller,Scope,我与这个控制器有问题 <div class="name">{{ account.account.type.name }}</div> <div class="diner">{{ account.status.formattedReservedAmount }}</div> </ion-item> </ion-list> 消费者服务,当我得到
<div class="name">{{ account.account.type.name }}</div>
<div class="diner">{{ account.status.formattedReservedAmount }}</div>
</ion-item>
</ion-list>
消费者服务,当我得到数据“数据”显示在列表上,一切正常
<div class="name">{{ account.account.type.name }}</div>
<div class="diner">{{ account.status.formattedReservedAmount }}</div>
</ion-item>
</ion-list>
但是,当我想在传递到“$scope”之前编辑“data”时,我在列表中看不到任何内容
<div class="name">{{ account.account.type.name }}</div>
<div class="diner">{{ account.status.formattedReservedAmount }}</div>
</ion-item>
</ion-list>
---------------看法------------------
<div class="name">{{ account.account.type.name }}</div>
<div class="diner">{{ account.status.formattedReservedAmount }}</div>
</ion-item>
</ion-list>
对结果的预测应该起到作用
<div class="name">{{ account.account.type.name }}</div>
<div class="diner">{{ account.status.formattedReservedAmount }}</div>
</ion-item>
</ion-list>
.controller('AccountsCtrl', function($scope, getAccountsDataServices){
getAccountsDataServices.resp.query(function(data){
angular.forEach(data, function(a) {
if (a.account.type.id === 17) {
a.account.status.formattedReservedAmount = 'texto editado';
}
});
$scope.accounts = data;
}, function(error) {
$ionicPopup.alert({
title: 'Error!',
template: 'Please Check!'
})
});
});
您确定数据是一个对象吗?如果是字符串,请在迭代之前尝试执行data=JSON.parse(data)。type.id是int,不是字符串,对吗?是否应该是:if(数据[i].account.type.id==17)?是否存在数据未更改的问题?还是它完全丢失了?@OliverMcPhee它会很好用的。在这种情况下,数据类型并不重要。使用
==
更安全@cmauroie您的代码似乎工作正常。“我测试过了,效果很好。”@AlbertoI.N.J。好的,我被要求使用===保存类型转换。实际上,这只是一个性能点,尽管我只有轶事证据。但正如您所指出的,这并不是问题的根源。迭代后出现此错误,希望查看数据结果,但“范围”无法查看列表。@Alberto I.N.J.*{{account.account.type.name}}**我尝试了你的代码,但不适合我。因为我需要:$scope.accounts=data;//编辑之后,你是对的。我编辑了答案。否则,这个答案正确吗?//在视图中看不到数据。”{{account.account.type.name}{{account.status.formattedReservedAmount}'