首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将无限滚动添加到mean.js模块?

如何将无限滚动添加到mean.js模块?
EN

Stack Overflow用户
提问于 2014-11-25 23:21:28
回答 1查看 680关注 0票数 0

我正在尝试将无限滚动添加到mean.js的演示文章模块中,这些模块开箱即用。

我使用ng install infinite-scroll安装了无限滚动,我可以看到该模块是可用的。

list-articles.client.view.html页面中,我将指令添加到div list-group。

代码语言:javascript
复制
<div class="list-group" infinite-scroll="myPagingFunction()" infinite-scroll-distance="1">

我创建了这个myPagingFunction,所以只需要调用find(),并且我将查找限制为50个结果。我想我以后会担心这个函数的真正实现。

但是,我不知道如何让mean.js识别该指令。我尝试将无限滚动添加到config.js依赖项列表中。但之后我就在网站上看到了空白页面。

代码语言:javascript
复制
var applicationModuleVendorDependencies = ['ngResource', 'ngAnimate', 'ui.router', 'ui.bootstrap', 'ui.utils','infinite-scroll'];
EN

回答 1

Stack Overflow用户

发布于 2014-12-07 06:36:24

我能够解决这个问题。我发现ng-scroll已经是angular的一部分了。

在客户机视图中,我做了以下更改:

代码语言:javascript
复制
<div class="list-group" ng-scroll-viewport style="height: 70vh;">
    <a  ng-animate="'animate'" ng-scroll="article in datasource"  class="list-group-item" >

在控件中,我添加了datasource get方法。在这里,我需要处理滚动过顶部的问题。不确定这是否是100%正确的,但它似乎是有效的。我还必须将json结果集转换为对象数组,以便ng-scroll正常工作。

代码语言:javascript
复制
$scope.datasource = {
        get: function(index, count, success) {

           if (index>-10) {
            if (index < 1) index = 1;

              var arts = Arts.query({index: index, count: count, filter: $scope.q});
              var results = [];

              articles.$promise.then(function (data) {

                   for (var key in data) {
                       if (data[key].name) {
                        results .push(data[key]);
                       }
                   }
                   success(results);
              });

            } else {
                success([]);
            }

      }
     };

然后,我修改了服务器端控制器中的查询以执行.skip(req.query.index).limit(req.query.count).这会将结果集限制为需要填充视口的行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27130480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档