首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Intel XDK列表视图排序

Intel XDK列表视图排序
EN

Stack Overflow用户
提问于 2014-09-15 18:40:21
回答 2查看 617关注 0票数 1

我尝试使用Intel和Parse.com作为后端服务来创建一个简单的应用程序。

我做了一个类似于本教程秀的列表视图。

在我的应用程序中,listview在底部显示最新的条目。相反,我想用相反的方式显示列表--最近的条目位于列表的顶部。

在一个简单的HTML5 5-JS文件中,我使用query.ascending("createdAt");完成它,如JavaScript在Parse.com中的文档所描述的那样。我怎么能用英特尔XDK这么做呢?

我将感激每一个有帮助的回答。

克里斯·珀金斯第一个答案后的编辑

根据Parse.com,我设法将英特尔XDK中的这个答案数据库集成为外部web服务。

因此,在

代码语言:javascript
复制
intel.xdk.services.iodocs_.New_Service = ((function (credentials) {
  var exports = {};

    exports.ServiceObject = function(params) {
    var url = 'https://api.parse.com/1/classes/ServiceObject';
    return $.ajax({
            url : url,
            headers : {
            'X-Parse-Application-Id' : credentials.apiKey,
            'X-Parse-REST-API-Key' : credentials.apiSecret
            }
        });
    };

  return exports;
}))(intel.xdk.services.credentials.New_Service,intel.xdk.services.iodocs_.helpers);

如果我正确地理解了我想要显示的数组,那就是我的服务响应主体中的“结果”的值,所有这些都在var exports = {};的花括号内。我说的对不对?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-22 21:45:51

我尝试了上面的建议,但列表甚至没有创建。

解决方案不是数据库与应用程序关联的方式。

我意识到列表是在模板中创建的,解决方案位于backbone.js文件中。于是,我打开了

代码语言:javascript
复制
var myCollection = Backbone.Collection.extend({
        model: myModel,
        comparator: function(item) {
            return -item.get('');
        }
    });

或者在某个地方找到这样一条线

$('#list').append(listItem.render().el);并将.append()更改为.prepend()

什么也帮不了我。但最终我注意到了代码中的那些行

代码语言:javascript
复制
//non-destructive reverse
var nd_reverse = function(arr){ return _.initial(arr, 0).reverse(); };

我删除了.reverse(),然后就发生了。现在,列表在顶部显示了我的Parse.com数据库的最新条目。

我不知道这是更好的解决方案,还是适用于更复杂的问题,但我希望能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2014-09-15 22:33:30

这是我们还没有提供的特性。我们非常希望用户能够过滤、转换和重新排序服务请求数据。如果你有任何建议或想法,请告诉我们。我们现在的想法是,我们将举行一次会议。如果服务名为intel.xdk.foo,那么任何名为intel.xdk.foo.filter的东西都将被自动调用,以便它接收结果数据作为参数并返回修改过的数据。

但还没到。在此期间,请这样做:

1-在XDK中,单击工具栏最右边的设置装置。转到“服务”选项卡并关闭缩小功能。

2-打开yourproject/www/xdk/services/service-methods.js,在其中找到由服务方法调用的方法。它看起来可能是这样的:

代码语言:javascript
复制
return $.ajax({
      url: url,
      type: 'GET'
    });

3-使用承诺链来改变结果。在您的例子中,假设数据是一个数组,我们想要反转它(可能都是错误的假设):

代码语言:javascript
复制
return $.ajax({
      url: url,
      type: 'GET'
    }).then(function(data){
      return Array.prototype.reverse(data); 
    });

这有意义吗?

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

https://stackoverflow.com/questions/25854683

复制
相关文章

相似问题

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