Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS$位置参数映射_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS$位置参数映射

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

我正在寻找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 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*', {}