Rigt現在我打電話model.destroy(),刪除請求到服務器端有沒有辦法覆蓋的URL,而在骨幹呼籲model.destroy
我想重寫URL調用,而這樣做破壞,我無法更改urlRoot。
有什麼辦法嗎?
感謝, 普拉斯
Rigt現在我打電話model.destroy(),刪除請求到服務器端有沒有辦法覆蓋的URL,而在骨幹呼籲model.destroy
我想重寫URL調用,而這樣做破壞,我無法更改urlRoot。
有什麼辦法嗎?
感謝, 普拉斯
致電destroy
時可以通過。
this.model.destroy({ url: "your-custom-url/" });
var MyModel = Backbone.Model.extend({
destroy: function (options) {
var opts = _.extend({url: '/destroy/' + this.id}, options || {});
return Backbone.Model.prototype.destroy.call(this, opts);
}
)};
所有基於AJAX的互動最終由Backbone.sync
這需要一個選項來處理對象,其中可如果骨幹的默認網址方案不適合您的服務器工作中提供的URL。
甚至會更好,如果你允許的選項,通過如下: '破壞:功能(選擇){返回Backbone.Model.prototype.destroy.call(這一點,_.extend( {url:'/ destroy /'+ this.id},options)); }' – Lukas 2013-02-26 20:17:21
這通常會代表對MVC的嚴重違反,因爲模型應該將這些知識封裝在一個地方。這種方法會將自定義URL泄漏到視圖/控制器中。並不是說它在每個應用程序中都是絕對不好的設計,只是針對典型的設計,我會建議不要這樣做。 – 2014-04-25 20:49:11
完全同意 - 重寫destroy方法絕對是最好的方式,否則它只是在Backbone中編寫jQuery spaghetti-like代碼:) – neebz 2014-04-27 11:46:15