0
我正在尝试生成模拟数据给我的应用程序。根据要求我的用户可以设置的尺寸为json
。为此,我将用户带到新页面并从用户那里获得价值。说small
,medium
,large
。一旦由用户定义的大小,我更新我收藏的url
链接是这样的:BackboneJS - 无法动态更新集合URL
var api = "movies"; //default. later setting by dynamic
var getURL = function(size){
console.log('api is', api);
return api;
}
var Theater = {
Models: {},
Collections: {},
Views: {},
Templates:{}
}
Theater.Models.Movie = Backbone.Model.extend({});
Theater.Collections.Movies = Backbone.Collection.extend({
model: Theater.Models.Movie,
urlRoot : getURL(),
url : function(){
console.log("json from", "scripts/data/" + this.urlRoot+".json");
return "scripts/data/" + this.urlRoot+".json"; //dynamic
},
initialize: function(){
console.log("Movies initialize");
}
});
这里是视图部分:
Theater.Templates.simulator = _.template($("#tmplt-simulator").html());
Theater.Views.Simulator = Backbone.View.extend({
el: $("#mainContainer"),
events :{
"click .radioBtn" : "setDataSize"
},
template : Theater.Templates.simulator,
initialize: function() {
_.bindAll(this, 'render');
this.render();
},
render: function() {
this.$el.empty();
return $(this.el).append(this.template()) ;
},
setDataSize : function(e){
e.preventDefault();
var size = e.target.value;
api = size; //updating the URL but not working when go back to home
}
})
从上述细节
除了这里是全码:full code
任何人都可以帮助我处理这种情况?
在此先感谢。
是的,我得到了。但是,当我在视图之间切换时,默认的URL会恢复。如何防止URL,除非另有意义我更新? – 3gwebtrain
@ 3gwebtrain我真的不明白你的问题。你在谈论收集URL或浏览器的网址? –
我在说收集URL。在我设置新的动态网址后,当我回到主页时,该网址将重置。但我需要永久性地设置我再次改变。 – 3gwebtrain