我尝试使用Intel和Parse.com作为后端服务来创建一个简单的应用程序。
我做了一个类似于本教程秀的列表视图。
在我的应用程序中,listview在底部显示最新的条目。相反,我想用相反的方式显示列表--最近的条目位于列表的顶部。
在一个简单的HTML5 5-JS文件中,我使用query.ascending("createdAt");完成它,如JavaScript在Parse.com中的文档所描述的那样。我怎么能用英特尔XDK这么做呢?
我将感激每一个有帮助的回答。
克里斯·珀金斯第一个答案后的编辑
根据Parse.com,我设法将英特尔XDK中的这个答案数据库集成为外部web服务。
因此,在
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 = {};的花括号内。我说的对不对?
发布于 2014-09-22 21:45:51
我尝试了上面的建议,但列表甚至没有创建。
解决方案不是数据库与应用程序关联的方式。
我意识到列表是在模板中创建的,解决方案位于backbone.js文件中。于是,我打开了
var myCollection = Backbone.Collection.extend({
model: myModel,
comparator: function(item) {
return -item.get('');
}
});或者在某个地方找到这样一条线
$('#list').append(listItem.render().el);并将.append()更改为.prepend()。
什么也帮不了我。但最终我注意到了代码中的那些行
//non-destructive reverse
var nd_reverse = function(arr){ return _.initial(arr, 0).reverse(); };我删除了.reverse(),然后就发生了。现在,列表在顶部显示了我的Parse.com数据库的最新条目。
我不知道这是更好的解决方案,还是适用于更复杂的问题,但我希望能有所帮助。
发布于 2014-09-15 22:33:30
这是我们还没有提供的特性。我们非常希望用户能够过滤、转换和重新排序服务请求数据。如果你有任何建议或想法,请告诉我们。我们现在的想法是,我们将举行一次会议。如果服务名为intel.xdk.foo,那么任何名为intel.xdk.foo.filter的东西都将被自动调用,以便它接收结果数据作为参数并返回修改过的数据。
但还没到。在此期间,请这样做:
1-在XDK中,单击工具栏最右边的设置装置。转到“服务”选项卡并关闭缩小功能。
2-打开yourproject/www/xdk/services/service-methods.js,在其中找到由服务方法调用的方法。它看起来可能是这样的:
return $.ajax({
url: url,
type: 'GET'
});3-使用承诺链来改变结果。在您的例子中,假设数据是一个数组,我们想要反转它(可能都是错误的假设):
return $.ajax({
url: url,
type: 'GET'
}).then(function(data){
return Array.prototype.reverse(data);
});这有意义吗?
https://stackoverflow.com/questions/25854683
复制相似问题