我正在寻找AngularJS $位置替换,它允许我更灵活地映射网址参数。
例如,我有两个根页map
和blog
以及一些地图页面的参数。现在角度看起来如何:
example.com/#!/map?id=1234567&view=12,43.5,55.5
我想丢弃?
和&
垃圾并获取此类网址
example.com/#!/map/1234567/view/12/43.5/55.5
example.com/#!/map/1234567
view is an optional parameter
example.com/#!/map/1234567/details
details is an optional flag
但我仍然想使用$location.search(view, '12,43.5,55.5')
或$location.search(id, '1234567')
或类似的东西。
是否可以更改Angular $location
以获取此类行为或是否有任何可用的替代方法?
答案 0 :(得分:0)
您可以使用$ state.go()而不是$ location。 $ state.go( '页面名称');
答案 1 :(得分:0)
您可以使用angular ui-router或使用默认的angularjs'路由,例如this:
.when('/map/:id', {}
.when('/map/:id/details', {}
.when('/map/:mapId/view/:id*', {}
例如,/color/:color/largecode/:largecode*\/edit
等路线将匹配/color/brown/largecode/code/with/slashes/edit
并提取: