骨幹

2012-08-10 162 views
0

我想骨幹

到目前爲止現在實現與骨幹一個非常基本的分頁&過濾支持實施分頁,我有這樣的事情在我的Collection.url()函數:

url: function() { 
    var url = 'http://localhost:9000/wines'; 
    var query = ''; 

    if (this.filter) query += '&filter=' + this.filter; 
    if (this.order) query += '&order=' + this.order; 
    if (this.page) query += '&page=' + this.page.toString(); 
    if (this.len)  query += '&len=' + this.len.toString(); 

    if (query) url += '?' + query.substring(1); 

    return url; 
}, 

你的想法

的問題是,當我試圖創建(POST)或更新(PUT)的項目,加上字符串也發送到瀏覽器...

是否有一些方法,在url函數中,檢測我正在發佈的操作並僅在獲取(GET)數據時添加查詢字符串參數?

或者你會推薦另一種方法?

回答

0

我發現下面的方式做到這一點

我只是重寫獲取方法,像這樣:

initialize: function(options) { 

    this._fetch = this.fetch; 

    this.fetch = function() { 
    options = {}; 
    options.url = 'http://localhost:9000/wines' 

    data = {}; 
    if (this.filter) data.filter = this.filter; 
    if (this.order) data.order = this.order; 
    if (this.page) data.page = this.page; 
    if (this.len) data.len = this.len; 

    options.data = data; 

    return this._fetch(options); 
    } 
}, 

我couln't找到一種方法來避免保存_fetch變量,我試着用

return Backbone.Collection.fetch(options); return Backbone.Collection.prototype.fetch(options);

return Wines.fetch(options); return Wines.prototype.fetch(options);

但他們都不似乎工作...

- 編輯

發現它骨幹頁:

回報Backbone.Collection.prototype.fetch.call(這一點,選擇);