使用相对网址导航

时间:2013-10-17 20:27:14

标签: jquery angularjs angular-ui-router

所以我试图向上导航一个级别,但不能让它正常工作。这是一个例子:

当前网址:

http://localhost/#/tinker/subdir/page1

我希望能够做这样的事情:

$location.url("../page2") 

最终来到这里:

http://localhost/#/tinker/subdir/page2

注意我使用ui-router也可能很重要。当我从第一页开始$location.url("../page2");时,我最终得到一个如下所示的网址:

http://localhost/#/../page2

我确信必须有一种简单的方法来完成我想要做的事情。任何想法?

3 个答案:

答案 0 :(得分:1)

如果您当前的位置是

http://localhost/#/tinker/page1

然后您已经在webroot文件夹中,因为hashmark(#)是本地引用。所以当前目录是

http://localhost/

并且浏览器应该查找名为

的本地锚点
/tinker/pages

或者jQuery应该可以使用它。

这只是为了你理解情况,`#/ tinker / page1'不是服务器请求,服务器页面只是“/".

答案 1 :(得分:1)

如果您正在使用UI路由器,则不使用URL导航,而是使用状态导航。您可以使用$state.go('^')导航到父状态。

答案 2 :(得分:0)

如果您在项目的根目录启动您的网络服务器,而不是“../page2”,您可以尝试“/ subdir / page2”,它应该工作。最佳做法是从项目根目录而不是“..”提供相对路径,因为它提高了可读性。