// 这是Model中的url方法 url: function() { var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError(); if (this.isNew()) return base; return base.replace(/([^//])$/, '$1/') + encodeURIComponent(this.id); }
从以上代码可以看出以下几点:
// 这是Backbone.sync方法中的获得url的代码片段 if (!options.url) { params.url = _.result(model, 'url') || urlError(); } // 现在修改为:其实就是给Model增加了一个urls属性,该属性是一个对象,保存了相应的url,只不过其中的key是相应的method. if (!options.url) { params.url = (model.urls && model.urls[method]) || _.result(model, 'url') || urlError(); } // 这是urls属性的例子 urls: { "create": "json/lxr/create", "update": "json/lxr/update", "delete": "json/lxr/delete", "read": "json/lxr/read/" }
新闻热点
疑难解答