如何在传递数据之前编辑数据 $scope?
How do I edit data before passing it $scope?
我有这个控制器的问题。
消费者服务,当我获得数据时 "data" 将它们显示在列表中,一切正常。
.controller('AccountsCtrl', function($scope, getAccountsData){
getAccountsData.resp.query(function(data){
$scope.accounts = data;
},function(dataError){
var alertPopup = $ionicPopup.alert({
title: 'Login failed!',
template: 'Please check your credentials!' + JSON.stringify(dataError)
});
});
})
但是当我想在传递给“$scope”之前编辑 "data" 时,我在列表中看不到任何内容。
.controller('AccountsCtrl', function($scope, getAccountsDataServices){
getAccountsDataServices.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: 'Error!',
template: 'Please check!
});
});
})
----------------查看----------------
<div class="name">{{ account.account.type.name }}</div>
<div class="diner">{{ account.status.formattedReservedAmount }}</div>
</ion-item>
</ion-list>
收到的数据是:
[{"account": {
"id": 913,
"type": {
"id": 17,
"name": "account-1"
},
"default": true
},
"status": {
"formattedReservedAmount": "$ 0,00 Pesos"
}
},
{
"account": {
"id": 4050,
"type": {
"id": 35,
"name": "account-2"
},
"default": false
},
"status": {
"formattedReservedAmount": "$ 0,00 Pesos"
}}]
结果上的 forEach 应该可以解决问题。
.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!'
})
});
});
.controller('AccountsCtrl', function(`$scope`, getAccountsDataServices){
getAccountsDataServices.resp.query(function(data){
`$scope.accounts` = data.map(function (c) {
if (c.account.type.id == '17'){
c.status.formattedReservedAmount = ':DDDD';
}
return c;
});
}, function(error) {
$ionicPopup.alert({
title: 'Error!',
template: 'Please Check!'
})
});
});
我有这个控制器的问题。
消费者服务,当我获得数据时 "data" 将它们显示在列表中,一切正常。
.controller('AccountsCtrl', function($scope, getAccountsData){
getAccountsData.resp.query(function(data){
$scope.accounts = data;
},function(dataError){
var alertPopup = $ionicPopup.alert({
title: 'Login failed!',
template: 'Please check your credentials!' + JSON.stringify(dataError)
});
});
})
但是当我想在传递给“$scope”之前编辑 "data" 时,我在列表中看不到任何内容。
.controller('AccountsCtrl', function($scope, getAccountsDataServices){
getAccountsDataServices.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: 'Error!',
template: 'Please check!
});
});
})
----------------查看----------------
<div class="name">{{ account.account.type.name }}</div>
<div class="diner">{{ account.status.formattedReservedAmount }}</div>
</ion-item>
</ion-list>
收到的数据是:
[{"account": {
"id": 913,
"type": {
"id": 17,
"name": "account-1"
},
"default": true
},
"status": {
"formattedReservedAmount": "$ 0,00 Pesos"
}
},
{
"account": {
"id": 4050,
"type": {
"id": 35,
"name": "account-2"
},
"default": false
},
"status": {
"formattedReservedAmount": "$ 0,00 Pesos"
}}]
结果上的 forEach 应该可以解决问题。
.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!'
})
});
});
.controller('AccountsCtrl', function(`$scope`, getAccountsDataServices){
getAccountsDataServices.resp.query(function(data){
`$scope.accounts` = data.map(function (c) {
if (c.account.type.id == '17'){
c.status.formattedReservedAmount = ':DDDD';
}
return c;
});
}, function(error) {
$ionicPopup.alert({
title: 'Error!',
template: 'Please Check!'
})
});
});