2013-10-17 105 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('^')導航到父母狀態。