是否可以在 Backbone.js 中使用 history.loadUrl 重新加载路由并传入一个字符串作为成功消息?
Is it possible within Backbone.js to reload route with history.loadUrl and pass in a string to be used as success message?
我无法确定是否可以使用 backgone.history.loadUrl 将字符串传递到视图中?
//My current method of reloading the view
Backbone.history.loadUrl(Backbone.history.fragment);
我想尽可能使用此方法,以便它从 Backbone 路由器渲染视图,而不是从自身内部再次渲染我的视图并将其作为该视图的选项传递。
//Destroy old view
//Render view again
var view = new myView("success msg");
下面是使用重新加载函数扩展 Backbone.history
的简单方法:
_.extend(Backbone.history, {
reload: function(){
return this.loadUrl(this.getFragment());
}
});
如果您正在编写 library/plugin,请不要这样做。
然后在任何地方调用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();
}
})
我无法确定是否可以使用 backgone.history.loadUrl 将字符串传递到视图中?
//My current method of reloading the view
Backbone.history.loadUrl(Backbone.history.fragment);
我想尽可能使用此方法,以便它从 Backbone 路由器渲染视图,而不是从自身内部再次渲染我的视图并将其作为该视图的选项传递。
//Destroy old view
//Render view again
var view = new myView("success msg");
下面是使用重新加载函数扩展 Backbone.history
的简单方法:
_.extend(Backbone.history, {
reload: function(){
return this.loadUrl(this.getFragment());
}
});
如果您正在编写 library/plugin,请不要这样做。
然后在任何地方调用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();
}
})