javascript - 演示模式下的 AngularJS 表调用虚拟数据

标签 javascript jquery angularjs pagination jquery-pagination

所以我找到了这个jsfiddle http://jsfiddle.net/EnY74/20/这是调用某种演示数据

正如您在此示例中看到的 https://jsfiddle.net/vsfsugkg/2/该表只有一行,我将该行修改为仅包含 (1, 2, 3)。

该表仍有 1,222 个条目,因此它必须调用 JavaScript 中的演示数据。

如何阻止表使用虚拟数据并在我的网站上使用此示例?我已经将其包裹在我网站中的一个表格中,但该表格正在重复执行相同的操作 1,222 次。

'use strict';

var App = angular.module('PaginationApp', []);

App.controller('MainCtrl', ['$scope', 'TypekitService', '$filter', function($scope, Typekit, $filter){
$scope.loadData = function(){                         Typekit.getTypekits($scope.page, $scope.per_page).then(function(response){                    
        $scope.more = response.data.library.families.length === $scope.per_page;
        $scope.families = $scope.families.concat(response.data.library.families);
        $scope.status_bar = "Showing " + ($scope.families.length === 0 ? "0" : "1") + " to " + $filter('number')($scope.families.length) + " of " + $filter('number')(response.data.library.pagination.count) + " entries";

    });
};

$scope.show_more = function(){
    $scope.page += 1;
    $scope.loadData();
}

$scope.has_more = function(){
    return $scope.more;
}

$scope.per_page = 10;
$scope.page = 1;        
$scope.families = [];        
$scope.more = true;
$scope.status_bar = "";
$scope.loadData();    
}])


App.factory('TypekitService',['$http',function($http){
return {
    getTypekits : function(page, per_page){
        return $http.jsonp('https://typekit.com/api/v1/json/libraries/full?page='+page+'&per_page='+per_page+'&callback=JSON_CALLBACK');
    }
}
}]);

当我将此分页应用到我的网站表格时,每行重复 20 次,因此最终会初始显示 200 行,并且可以选择加载更多行,有人知道为什么吗?该表只包含不超过 20 条记录?

最佳答案

所以,我不确定你想做什么,但发生的事情是这样的。

  1. 调用 Typekit.getTypekits 获取远程数据 (1,222 记录)。
  2. 检索到的数据被分配给范围变量“families”。
  3. 在 HTML 模板中,您将迭代数组“families”的所有条目。
  4. 由于您要迭代的模板仅包含 1,2,3,因此结果是一个包含 1,222 行且包含 1,2,3 的表格。

如果你只想显示一条记录。删除对 getTypeKits 的调用并自行启动 family 数组。

我更新了示例,删除了所有不必要的内容:https://jsfiddle.net/vsfsugkg/18/

关于javascript - 演示模式下的 AngularJS 表调用虚拟数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35627332/

相关文章:

c# - 关于 .aspx 页面上未在服务器上运行的输入变量和隐藏代码

javascript - 单击 asp :button in the same row? 时如何将 gridview 复选框设置为选中

php - 什么不能忘记?

javascript - 再次挂载时 this.dataTable.getNumberOfRows 不是函数错误 react 谷歌图表

javascript - 在 JavaScript 中格式化 Json、删除重复项和计数元素

javascript - jquery `this` 中的特定元素

javascript - 如何删除特定字符前后的空格?

javascript - 使用 ng-if 时不显示 ionic View 标题

javascript - 如何检查在输入字段中输入的值在AngularJS中是否已经可用

javascript - 在 JavaScript 中等待两个异步命令