例如,我将此模型作为用户:
var Users = Spine.Model.sub();
Users.configure('Users', 'name', 'gender', 'age');
Users.extend(Spine.Model.Ajax);
Users.extend({url:"/users"});
假设我们已经在数据库中保存了一些数据。 如果运行
var users = Users.fetch();
Ajax将向/ users发送GET请求,并返回所有结果。
但是,如果我想获取所有女性或男性用户,或年龄超过25岁,或按指定顺序排名前10位的用户,如何传递这些变量?我无法在文件中找到规范。 fetch方法可以传递一个回调函数参数,以便在获取完成时撤销,显然不是我想要的。
答案 0 :(得分:1)
我自己找到了解决方案。实际上,该文档说明了如何对结果进行分页。
var Photo = Spine.Model.sub();
Photo.configure('Photo', 'index');
Photo.extend(Spine.Model.Ajax);
Photo.extend({
fetch: function(params){
if ( !params && Photo.last() )
params = {data: {index: this.last().id}}
this.constructor.__super__.fetch.call(this, params);
}
});
但我发现代码无法运行,首先
this.constructor.__super__.fetch.call(this, params);
应该是
this.__super__.constructor.fetch.call(this, params);
其次,如果运行Photo.fetch({data:{id:1}}),它将发送一个像这样的GET请求
GET /photos?[object%20Object]
纠正它
Photo.fetch({data: $.param({id:1})});
HTTP请求
GET /photos?id=1