首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在传递$scope之前编辑数据?

如何在传递$scope之前编辑数据?
EN

Stack Overflow用户
提问于 2015-07-08 16:29:30
回答 2查看 54关注 0票数 0

我对这个控制器有意见。

当我得到数据时,“数据”会显示在列表上,一切正常。

代码语言:javascript
复制
.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“之前编辑”数据“时,我看不到列表上的任何内容。

代码语言:javascript
复制
.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!
        });
    });
    }) 
代码语言:javascript
复制
            <div class="name">{{ account.account.type.name }}</div>
            <div class="diner">{{ account.status.formattedReservedAmount }}</div>
          </ion-item>
        </ion-list>

收到的数据如下:

代码语言:javascript
复制
[{"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"
        }}]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-16 21:21:13

代码语言:javascript
复制
.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!'
        })
    });
});
票数 0
EN

Stack Overflow用户

发布于 2015-07-08 17:30:22

一个关于结果的forEach应该能做到这一点。

代码语言:javascript
复制
.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!'
        })
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31298475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档