#foo
:slashless scheme #/foo
:slashy scheme 应用程序的某些遗留部分使用(并依赖)无划线方案。我想以非破坏性的方式介绍Angular路由(可能使用ui-router),这样就不会干扰传统路由,以便部分应用程序可以随着时间的推移而优雅地逐步淘汰。一旦发生这种情况,全角应用程序可以立即切换到slashy方案。
我尝试将$locationProvider.hashPrefix('')
设置为空字符串,但似乎您只能在#
和/
之间设置字符串,因此无效。
似乎我可以
'/'
。因此,将其设置为''
会变得有意义。这两个选项似乎非常耗时。
你知道一个更好的方法让Angular认识到这种无条件的方案吗?
答案 0 :(得分:1)
您可以尝试使用重定向!
使用ui-router
:
app.config(function ($urlRouterProvider) {
// when there is an 'old' route, redirect to new one
$urlRouterProvider.when('foo', '/foo');
// You can also use regex for the match parameter
$urlRouterProvider.when(/(\w+)/i, '/$1'); // UNTESTED!!!!!!
})
的参考资料
我很抱歉,但是在掠夺者/小提琴中很难测试标签,所以我现在不提供一个...