在具有html5mode平均堆棧的web應用程序,我已經定義了以下角度-UI-路由器
.state('addinHome', {
url: '/addin/home',
template: "home page"
})
然後,我有另一頁https://localhost:3000/test/
與按鈕<a href="/addin/home">button</a>
。此外,在其控制器,我有
... ...
$location.path("/addin/home")
... ...
通常情況下,兩者$location.path
和按鈕導致https://localhost:3000/addin/home
。
現在,我加入index.html
以下參考資料:
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
<script src="https://cdn.rawgit.com/devote/HTML5-History-API/master/history.js"></script>
它擾亂了UI的路由器。因此,$location.path
和按鈕導致https://localhost:3000/test/#%2Faddin#%2Fhome
,這不是我想要的。
我找到了修復按鈕的解決方案:它使用<a href="addin/home" target="_self">button</a>
(在與點擊相同的框架中打開鏈接的文檔;請參閱here)。
但是,我還沒有找到解決方案來修復$location.path("/addin/home")
。誰能幫忙?
等待,這有什麼錯'$ state.go( 'addinHome');'? –
它導致'https:// localhost:3000/test /#%2Faddin#%2Fhome'像'$ location.path'。 – SoftTimur
當路由器已經管理歷史記錄時,爲什麼你需要'history.js'? – charlietfl