Closed cmauroie closed 9 years ago
Cuéntame como lo estas editando y como lo estas haciendo?
cuando recibo el json lo recorro de esta forma: donde data es el json.
for(var i in data){ if(data[i].account.type.id == '17'){ data[i].status.formattedReservedAmount = "texto editado"; }; }; luego cuando termina el for.
envio data a: $scope.accounts = data;
Solución:
$scope.accounts = data.map(function (c) {
if (c.account.type.id == '17'){
c.status.formattedReservedAmount = ':DDDD';
}
return c;
});
ejemplo:
var numbers = [1, 4, 9]; var doubles = numbers.map(function(num) { return num * 2; }); // doubles is now [2, 8, 18]. numbers is still [1, 4, 9]
Hola, En el siguiente controlador uso un servicio el cual me retorna un json, A este json se le debe editar un campo antes de enviarlo a la vista,entonces si lo cargo con este controlador funciona la lista bien sin problemas y muestra los campos sin editar tal cual como viene del servidor.
.controller('AccountsCtrl', function($scope, getAccountsDataService){ getAccountsDataService.resp.query(function(data){ $scope.accounts = data; },function(dataError){ var alertPopup = $ionicPopup.alert({ title: 'Login failed!', template: 'Please check!' }); }); })
pero si trato de recorrer el json para modificar un campo y retornarlo no me muestra nada en la lista,
.controller('AccountsCtrl', function($scope, getAccountsDataService){ getAccountsDataService.resp.query(function(data){ for(var i in data){ if(data[i].account.type.id == '17'){ data[i].status.formattedReservedAmount = "texto editado"; }; }; $scope.accounts = data; },function(dataError){ var alertPopup = $ionicPopup.alert({ title: 'Login failed!', template: 'Please check ' }); }); });
vista
JSON: retorna el servicio, la linea resaltada es la que estoy tratando de editar.
[ { "account": { "id": 913, "type": { "id": 17 }, "default": true }, "status": { "formattedReservedAmount": "$ 0,00 Pesos"//Objeto a editar } }, { "account": { "id": 4050, "type": { "id": 35 }, "default": false }, "status": { "formattedReservedAmount": "$ 0,00 Pesos" } } ]