是否可以在 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();
    }
})