Lor*_*ard 4 javascript backbone.js backbone-routing marionette
我已经使用构建了一个Web应用程序backbone.marionette
.从a开始Marionette.ItemView
,我触发事件document.location.hash
:
document.location.hash = '#tasks/' + this.model.get('id');
Run Code Online (Sandbox Code Playgroud)
1.a)它改变URL 1.b)它触发appRoutes
如果我Routing.navigate
从同一个地方触发:
router.navigate('#tasks/' + this.model.get('id'))
Run Code Online (Sandbox Code Playgroud)
2.a)它按预期更改URL 2.b)它不会触发appRoutes.
知道为什么2.b会发生吗?问题在哪里?
谢谢.
var Router = Marionette.AppRouter.extend({
appRoutes: {
'tasks': 'tasks',
'tasks/:id': 'taskDetail',
'*defaults': 'tasks'
}
});
Run Code Online (Sandbox Code Playgroud)
你需要添加 {trigger: true}
router.navigate('#tasks/' + this.model.get('id'), {trigger: true})
Run Code Online (Sandbox Code Playgroud)
通常我扩展路由器,然后添加我自己的导航,自动添加{trigger: true}
.我理解为什么开发人员这样做,但它不是我用过它的方式:)
归档时间: |
|
查看次数: |
5563 次 |
最近记录: |