Javascript AngularJS$位置参数映射
我正在寻找AngularJS$位置替换,它允许我更灵活地映射url参数 例如,我有两个根页面Javascript AngularJS$位置参数映射,javascript,angularjs,Javascript,Angularjs,我正在寻找AngularJS$位置替换,它允许我更灵活地映射url参数 例如,我有两个根页面map和blog,以及映射页面的一些参数。现在它在角度上是什么样子: example.com/#!/map?id=1234567&view=12,43.5,55.5 我想扔掉?和&垃圾,得到这样的url example.com/#!/map/1234567/view/12/43.5/55.5 example.com/#!/map/1234567 view is an optional par
map
和blog
,以及映射页面的一些参数。现在它在角度上是什么样子:
example.com/#!/map?id=1234567&view=12,43.5,55.5
我想扔掉?
和&
垃圾,得到这样的url
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(查看'12,43.5,55.5')
或$location.search(id,'1234567')
或类似的东西
是否可以更改角度$location
以获得此类行为,或者是否有可用的替代方法?您可以使用$state.go()而不是$location。
$state.go('pagename') 您可以使用或使用默认angularjs的路由,如:
从:
- 路径可以包含以冒号开头,以冒号结尾的命名组 星形:例如:名称*。所有字符都急切地存储在$routeParams中 当路由匹配时,在给定名称下
例如,像
/color/:color/largecode/:largecode*\/edit
这样的路由将匹配/color/brown/largecode/code/with/slashes/edit
,并提取:您不能通过使用angularjs的路由实现此行为吗?我不这么认为,ofc。我可以将/map/1234567/view/12/43.5/55.5
设置为一个页面,但是读取参数非常不舒服。但是在这种情况下,我应该自己从pagename字符串中读取和写入参数,我正在寻找更好的方法。看起来像我需要的东西。谢谢你,贝蒂。
.when('/map/:id', {}
.when('/map/:id/details', {}
.when('/map/:mapId/view/:id*', {}