Backbone router.navigate 不会重定向
Backbone router.navigate doesn't redirect
老实说,我觉得问这个问题有点愚蠢,因为应该是一件非常简单的事情......在我的应用程序中,我有:
window.myApp =
Models: {}
Collections: {}
Views: {}
Routers: {}
initialize: ->
window.router = new Backbone.Router
Backbone.history.start(pushState: true)
然后在我的视图中,当我单击一个按钮时,我确实:
router.navigate('/profile')
我也尝试过
router.navigate('/profile', true)
现在。。。我知道这不是使用骨干路线的最佳方式,但我需要我的 rails 应用程序管理路线,并且我只使用主干路线来拥有路线历史记录......如果我做 window.href = '/profile' 它会正确重定向。
我在骨干路由上做错了什么?我以前用过这种方式,但我不明白为什么现在它不再起作用了。
编辑:新网址始终正确显示在导航栏中,但它不会重定向到新页面...仅在导航栏中显示新 URL。
主干路由器导航不会重定向
不,它没有。这甚至不是router.navigate
所做的。它与重定向无关,用于更新地址栏。
新网址始终正确显示在导航栏中,但它不会重定向到新页面...仅在导航栏中显示新 URL。
是的,这正是router.navigate
被记录要做的事情。这是它的明确目的。您可以使用它来更新 URL 以反映页面的当前状态,而不是将页面重定向到其他内容。
如果要重定向到新页面,则应使用window.location.href = '/profile'
。
如果要更新地址栏,然后触发新一轮的骨干路由,请使用router.navigate('/profile', { trigger: true });
,但同样,这不是骨干网的工作方式。
我们遇到了一个问题,发现有时甚至 window.location.href 也不起作用。
我们很幸运地找到了这篇文章 骨干网:刷新相同的路由路径两次,我们实际上只能使用所提出的解决方案的组合来使其工作:
导航到不存在的路线:
Backbone.history.navigate('xpto');
然后使用:
window.location.href = location;
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- 如何在chrome扩展中重定向到html页面
- 无法从jquery Mobile导航栏重定向到另一个页面
- ng视图外的链接重定向到ng视图内的页面
- 在phonegap应用程序内部重定向不起作用
- CORS-重定向到第二个GET正在接收的页面
- AJAX不会在文件上传后重定向到网页-POST方法
- 重定向时角度刷新浏览器
- 通过链接重定向不;我不在jstree中工作
- 根据select选项元素将表单重定向到不同的URL
- 通过JQuery重定向到另一个页面
- 重定向到“父窗口”
- 重定向iFrame中的父URL
- PHP-如何重定向到同一页面并更改DOM's
- chrome.tabs.update() 重定向到 'chrome-extension://invalid/'
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- Backbone router.navigate 不会重定向