gpt4 book ai didi

javascript - Routing.navigate 与 document.location.hash

转载 作者:搜寻专家 更新时间:2023-11-01 05:06:36 25 4
gpt4 key购买 nike

我已经使用 backbone.marionette 构建了一个网络应用程序。当我从 Marionette.ItemView 触发事件 document.location.hash 时:

 document.location.hash = '#tasks/' + this.model.get('id');

1.a) 它改变了 URL1.b) 它触发 appRoutes

如果我从同一个地方触发 Routing.navigate:

router.navigate('#tasks/' + this.model.get('id'))

2.a) 它按预期更改了 URL2.b) 它不会触发 appRoutes。

知道为什么会出现 2.b 吗?问题出在哪里?

谢谢。

var Router = Marionette.AppRouter.extend({
appRoutes: {
'tasks': 'tasks',
'tasks/:id': 'taskDetail',
'*defaults': 'tasks'
}
});

最佳答案

你需要添加{trigger: true}

router.navigate('#tasks/' + this.model.get('id'), {trigger: true})

通常我会扩展路由器,然后添加我自己的导航,它会自动添加该 {trigger: true}。我理解为什么开发人员会那样做,但这不是我曾经使用它的方式:)

关于javascript - Routing.navigate 与 document.location.hash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com