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

时间:2015-08-27 13:38:27

标签: javascript angularjs parse-platform scope angularjs-ng-repeat

我有这个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都很新。

感谢&#39; S

1 个答案:

答案 0 :(得分:1)

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

我会这样写:

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>