我有一个模式,它有自己的路线,我有一个事件监听器,在关闭后改变它的路线
'closeTask' : function ( e ) {
e.preventDefault();
Backbone.history.navigate( '#groups/' + this.model.get( 'LicenseId' ) + '/tasks' );
},
但是当我使用它时,有时关闭模态会重新加载页面。
我也尝试过使用
'closeTask' : function ( e ) {
e.preventDefault();
App.navigate( '#groups/' + this.model.get( 'LicenseId' ) + '/tasks', { trigger:false } );
},
但也给了我相同的结果。我应该使用什么才能在不重新加载页面的情况下更改路线?
答案 0 :(得分:2)
这应修改URL而不触发路由。
Backbone.history.navigate('#groups/' + this.model.get( 'LicenseId' ) + '/tasks', false);
将false
添加为Backbone.history.navigate
的第二个参数。
答案 1 :(得分:2)
不知何故,使用replace : true
解决了我的问题。
Backbone.history.navigate('#groups/' + this.model.get( 'LicenseId' ) + '/tasks', { replace : true } );
阅读那里的文档,这实际上很有意义
要更新URL而不在浏览器的历史记录中创建条目, 将replace选项设置为true。