【问题标题】:Refresh ng-repeat rows when new data is added to source using parse.com使用 parse.com 将新数据添加到源时刷新 ng-repeat 行
【发布时间】:2021-03-09 03:33:34
【问题描述】:

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

【问题讨论】:

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


    【解决方案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>
    

    【讨论】:

    • 只需更改 &lt;button value="Refresh" ng-click="refreshData()"&gt;&lt;/button&gt; 即可。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 2015-10-15
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    相关资源
    最近更新 更多