我正在Drupal7中创建一个自定义模块,使用views_datasource模块提取Json格式的数据,并在前端对数据进行角过滤(来自view的结果不到50个)。我遇到的问题是当我尝试对结果进行分页时。该应用程序显示所有结果,底部有分页编号。当我输入筛选器文本输入时,结果被正确筛选,分页反应正常(收缩和扩展)。我试图做的是使我的显示结果和分页一起工作,这样每个页面的最大结果数是2。我对此非常陌生,所以任何小小的帮助都很感激。提前感谢您的时间!这是我到目前为止的代码。首先我有一个app.js
var cats = angular.module('cats', ['ui.bootstrap']);
jQuery(document).ready(function() {
angular.bootstrap(document.getElementById('cats-app'),['cats']);
});
然后我的catscontroller.js
cats.controller('catscontroller', function ($scope, $http, $filter, $timeout) {
$scope.currentPage = 1;
$scope.itemsPerPage = 2;
$scope.allCats = [];
$http.get('json/cats').success(function (result) {
$scope.allCats = result.nodes;
});
$scope.filter = function() {
$timeout(function() {
$scope.totalItems = $scope.filtered.length;
}, 10);
};
$scope.pageChanged = function (currentPage) {
var start = (currentPage - 1) * $scope.itemsPerPage;
var end = start + $scope.itemsPerPage;
$scope.allCats = $scope.allCats.slice(start, end);
};
});
<div id="cats-app" ng-controller="catscontroller" >
<input type="text" ng-model="search.node.title" ng-change="filter()" placeholder="Search"/><br/>
<br/>
<ul>
<li ng-repeat="cat in filtered = (allCats | filter:search) " >
{{cat.node.title}}</li>
</ul>
<div class="pagination-centered">
<pagination total-items="totalItems" ng-model="currentPage" items-per-page="itemsPerPage"
ng-change="pageChanged(currentPage)"></pagination>
</div>
</div>
cats.controller('catscontroller', function ($scope, $http, $filter, $timeout) {
$scope.currentPage = 1;
$scope.itemsPerPage = 2;
$scope.allCats = [];
$scope.cats=[];
$scope.filter = function() {
$timeout(function() {
$scope.totalItems = $scope.filtered.length;
}, 10);
};
$scope.pageChanged = function (currentPage) {
var start = (currentPage - 1) * $scope.itemsPerPage;
var end = start + $scope.itemsPerPage;
$scope.cats = $scope.allCats.slice(start, end);
};
$http.get('json/cats').success(function (result) {
$scope.allCats = result.nodes;
$scope.filter();
$scope.totalItems = $scope.allCats.length;
$scope.cats = $scope.allCats.slice(0, $scope.itemsPerPage);
});
});
....
<div class="cat" ng-repeat="cat in cats | filter:search" >
....
如果我在tpl.php中使用相同的控制器
...
<li ng-repeat="cat in filtered = (cats | filter:search) " >
...
然后我在第1页只得到dog3,dog2(如果过滤器只对这两个结果起作用)
$scope.filter = function() {
$timeout(function() {
$scope.totalItems = $scope.filtered.length;
}, 10);
};
$scope.pageChanged = function (currentPage) {
var start = (currentPage - 1) * $scope.itemsPerPage;
var end = start + $scope.itemsPerPage;
$scope.cats = $scope.allCats.slice(start, end);
};
});
$http.get('json/cats').success(function (result) {
$scope.allCats = result.nodes;
$scope.filter();
});
主要内容:AngularJS 过滤器,表达式中添加过滤器,AngularJS 实例,AngularJS 实例,currency 过滤器,AngularJS 实例,向指令添加过滤器,AngularJS 实例,过滤输入,AngularJS 实例,自定义过滤器,AngularJS 实例过滤器可以使用一个管道字符(|)添加到表达式和指令中。 AngularJS 过滤器 AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式。 filter 从数组项中选择一个子集
问题内容: 我是AngularJS的新手,我正在构建一个小型的概念验证租车清单应用程序,该应用程序会提取一些JSON,并通过ng- repeat并使用几个过滤器来呈现这些数据的各个部分: 现在,我想在控制器中创建一个自定义过滤器,该过滤器可以迭代ng-repeat中的项目,并仅返回满足特定条件的项目-例如,我可以根据哪个“ provider”复选框创建值数组进行检查,然后评估每个ng-repeat
本文向大家介绍AngularJS 过滤器(自带和自建)详解,包括了AngularJS 过滤器(自带和自建)详解的使用技巧和注意事项,需要的朋友参考一下 过滤器用来格式化需要展示给用户的数据。AngularJS有很多实用的内置过滤器,同时也提 供了方便的途径可以自己创建过滤器。 在HTML中的模板绑定符号{{ }}内通过|符号来调用过滤器。例如:{{value|lowercase}}//将值转换成小
本文向大家介绍AngularJS过滤器filter用法分析,包括了AngularJS过滤器filter用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了AngularJS过滤器filter用法。分享给大家供大家参考,具体如下: 在开发中,经常会遇到这样的场景 如用户的性别分为“男”和“女”,在数据库中保存的值为1和0,用户在查看自己的性别时后端返回的值自然是1或0,前端要转换为“男”
问题内容: 我有一个由django-tables2生成的工作表: 上面的代码返回一个包含数百个对象的表,这些对象整齐地分页,每页10个项目。当我单击表格底部的“下一步”时,分页效果很好,并且可以浏览不同的页面。但是,我注意到以下行为: 单击以显示原始未过滤表的子集 单击过滤表底部的“下一步”将显示未过滤表的第二页 再次单击将显示过滤后的表格的第二页 我希望过滤器在浏览不同页面时能够保持不变。我在这
问题内容: 我有一组项目,我想使用ng-model作为字符串来过滤ng- repeat来过滤集合,到目前为止,我还没有找到一种方法来使表达式被否定时起作用,我做这样的事情: 在文档中,它说我们应该使用!否定表达,但仍然没有运气。 我究竟做错了什么? 问题答案: ‘!’ 字符位于过滤器字符串的前面,如下所示: 过滤器:’!’+ languageOrigin