angularjs – 如何让Angular路由器(或ui-router)接受像`#foo`这
发布时间:2020-12-17 16:58:24 所属栏目:安全 来源:网络整理
导读:术语 #foo:slashless scheme #/ foo:slashy计划 背景 应用程序的某些遗留部分使用(并依赖)无划线方案.我想以非破坏性的方式介绍Angular路由(可能使用ui-router),这样就不会干扰传统路由,以便部分应用程序可以随着时间的推移而优雅地逐步淘汰.一旦发生这种
术语
> #foo:slashless scheme 背景 应用程序的某些遗留部分使用(并依赖)无划线方案.我想以非破坏性的方式介绍Angular路由(可能使用ui-router),这样就不会干扰传统路由,以便部分应用程序可以随着时间的推移而优雅地逐步淘汰.一旦发生这种情况,全角应用程序可以立即切换到slashy方案. 至今 我尝试将$locationProvider.hashPrefix(”)设置为空字符串,但似乎您只能在#和/之间设置字符串,因此无效. 选项 看来我也可以 >重写应用程序的遗留部分,或 这两个选项看起来都非常耗时. 你知道一个更好的方法让Angular认识到这种无条件的方案吗? 解决方法
您可以尝试使用重定向!
使用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!!!!!! }) 参考约ui-router wiki 对不起,但是标签很难在掠夺者/小提琴中测试,所以我现在不提供一个… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |