使用parse.com向数据源添加新数据时刷新ng-repeat行

Refresh ng-repeat rows when new data is added to source using parse.com

本文关键字:数据 刷新 ng-repeat com parse 数据源 新数据 添加 使用      更新时间:2023-09-26

我有这个AngularJS控制器,它从我在parse.com上创建的类中获取数据

app.controller('dataCtrl', function($scope) {
    var MarketingData = Parse.Object.extend('MarketingData');
    
    var query = new Parse.Query(MarketingData);
    query.find({
        success: function(results) {
            $scope.$apply(function() {
                $scope.resultData = results.map(function(obj) {
                    return {
                        startDate: obj.get('StartDate'),
                        endDate: obj.get('EndDate'),
                        investment: obj.get('Investment'),
                        format: obj.get('Format'),
                        partner: obj.get('Partner'),
                        purpose: obj.get('Purpose')
                    }
                });
            });
        }
    });
});

加上HTML

<tr ng-repeat="x in resultData">
    <td>{{x.startDate | date: 'yyyy-MM-dd'}}</td>
    <td>{{x.endDate | date: 'yyyy-MM-dd'}}</td>
    <td>{{x.investment}}</td>
    <td>{{x.format}}</td>
    <td>{{x.partner}}</td>
    <td>{{x.purpose}}</td>
</tr>

我如何绑定一个按钮来刷新行与新数据(新行)?我对parse.com和AngularJS都很陌生。

您应该将获取数据的代码放入函数中,然后在按下刷新按钮时调用该函数。

我会这样写:

app.controller('dataCtrl', function($scope) {
function getData() {
    var MarketingData = Parse.Object.extend('MarketingData');
    var query = new Parse.Query(MarketingData);
    query.find({
        success: function(results) {
            $scope.$apply(function() {
                $scope.resultData = results.map(....);
            });
        });
    });
};
getData(); //Get data on launch
$scope.refreshData = function() { 
    getData();
}
});

在HTML中,只需添加:

<button value="Refresh" ng-click="getData()"></button>