我无法确定是否可以使用backgone.history.loadUrl将字符串传递到视图中?
//My current method of reloading the view
Backbone.history.loadUrl(Backbone.history.fragment);
我想尽可能使用此方法,以便它从骨干路由器渲染视图,而不是从自身内部再次渲染视图并将其作为该视图的选项传递。
//Destroy old view
//Render view again
var view = new myView("success msg");
最佳答案
这是使用重载功能扩展Backbone.history
的简单方法:
_.extend(Backbone.history, {
reload: function(){
return this.loadUrl(this.getFragment());
}
});
如果要编写库/插件,请不要这样做。
然后在任何地方调用
Backbone.history.reload();
将再次调用路由。这是重新渲染视图的好方法吗?没有。
如果要在其内部重新渲染视图,请不要重新加载整个路线。
var View = Backbone.View.extend({
// events, etc. ...
render: function() {
// rendering
if (this.success) {
// show success message
}
return this;
},
onMyEvent: function() {
// here, a re-render with a success message is necessary
this.success = true;
this.render();
}
})