2013-10-17 90 views
0

所以我试图向上导航一层,但不能完全正确地工作。这里有一个例子:用相对网址导航

当前网址:

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

我希望能够去这样做:

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

到这里就结束了:

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

这也可能很重要,请注意我正在使用ui-router。当我做$location.url("../page2");从第一页,我结束了一个URL,看起来像这样:

​​

我敢肯定有一定是要完成什么,我试图做一个简单的方法。有任何想法吗?

+0

$ location.url或$ location.href ??? –

+0

我不能看到$位置有一个href –

回答

1

如果您目前的位置

http://localhost/#/tinker/page1 

那么你就已经在根目录文件夹,作为hashmark(#)是一个局部引用。因此,当前目录是

http://localhost/ 

和浏览器应该寻找一个当地的锚名为

/tinker/pages 

也许jQuery是应该与工作。

这只是为了您的理解,`#/ tinker/page1'不是服务器请求,服务器页面只是“/”。

+0

我更新了示例,那该怎么办?我试图解决这个问题的原因是因为我可能不知道确切的目录,因为它可能会改变,但我确实知道我想去的地方。 –

0

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

+0

问题是我的路径可能会根据包含这些“模块”的应用程序而改变。我只知道他们不会相对变化。 –

1

如果您使用的是UI路由器,您不使用URL进行导航,您可以使用状态进行导航。您可以使用$state.go('^')导航到父母状态。