从Angular.js控制器调用函数

时间:2014-03-19 06:15:32

标签: javascript angularjs

以下是一个简单的Angular.js代码段:

XApp.controller('ProductsController', function ($scope, GetProductsForIndex, $http) {
    console.log('Step 1');
    var Obj = new Object();

    Obj.PAGEINDEX = 1;
    Obj.PAGESIZE = 25;
    Obj.SPNAME = "index_get_products";
    Obj.PAGECOUNT = null;
    Obj.COUNTRYCODE = 'in'

    $scope.data = GetProductsForIndex.query({ parameters : Obj }, function () {
        console.log($scope.data);
        $scope.products = $scope.data;
    });

})


XApp.factory('GetProductsForIndex', function ($resource) {
    console.log('Step 2');
    return $resource('api/index/:object?type=json', {}, { 'query': { method: 'GET', isArray: true } });
});

我正在尝试使用http://binarymuse.github.io/ngInfiniteScroll/

实现无限滚动

在他们的演示http://binarymuse.github.io/ngInfiniteScroll/demo_basic.html中,他们正在调用loadMore()函数。

在我的情况下,我想在滚动时执行以下操作:

$scope.data = GetProductsForIndex.query({ parameters : Obj }, function () {
            console.log($scope.data);
            $scope.products = $scope.data;
        });

并将pageIndex Obj.PAGEINDEX = 1递增1.我该怎么做?今天是Angular.js的第3天。

1 个答案:

答案 0 :(得分:1)

您需要在控制器中实现这样的loadMore函数,

XApp.controller('ProductsController', function ($scope, GetProductsForIndex, $http) {
    function loadData($scope, obj){
           $scope.products.push( GetProductsForIndex.query({ parameters : Obj }, function ()                       {           

            }));
     } 

 console.log('Step 1');
    var Obj = new Object();
     $scope.products=[];
    Obj.PAGEINDEX = 1;
    Obj.PAGESIZE = 25;
    Obj.SPNAME = "index_get_products";
    Obj.PAGECOUNT = null;
    Obj.COUNTRYCODE = 'in'

    loadData($scope, Obj);
})