我有以下型号:
window.MyModel = Backbone.Model.extend({
initialize: function(props){
this.url = props.url;
}
parse: function(){
// @override- parsing data fetched from URL
}
});
// instantiate
var mod = new MyModel({url: 'some/url/here'});
Run Code Online (Sandbox Code Playgroud)
我使用这个全局变量'mod'从后端获取一些数据到这个模型.
// fetch
mod.fetch({
success: function(){ ...},
error: ...
});
Run Code Online (Sandbox Code Playgroud)
以上都适用....我的问题:我希望通过更改重置url并调用fetch来重用此模型,但它不会以某种方式更新url.我尝试过以下方法:
mod.fetch({
data: {url:'/some/other/url'},
postData: true,
success: function(){ //process data},
error: ...
});
mod.set({url: '/some/other/url'});
// called fetch() without data: and postData: attributes as mentioned in previous
Run Code Online (Sandbox Code Playgroud)
如何为我的模型设置url以便我可以调用fetch()并从更新的url中获取数据?我错过了什么.谢谢你的任何指示......
更新1:基本上,如果我这样做,我无法获得更新的值
model.set({url: 'new value'});
Run Code Online (Sandbox Code Playgroud)
其次是
model.fetch();
Run Code Online (Sandbox Code Playgroud)
'model'是一个全局变量.创建一个新的"模型"实例:
model = new Model({url:'/some/other/url'});
model.fetch(); …Run Code Online (Sandbox Code Playgroud)