在使用html5mode的均值堆栈Web应用程序中,我定义了以下angular-ui-router
.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-router。因此,$location.path
和按钮都会导致https://localhost:3000/test/#%2Faddin#%2Fhome
,这不是我想要的。
我找到了修复按钮的解决方案:它正在使用<a href="addin/home" target="_self">button</a>
(在点击相同的框架中打开链接的文档;请参阅here)。
但是,我还没有找到修复$location.path("/addin/home")
的解决方案。有人可以帮忙吗?
答案 0 :(得分:0)
将$window
作为依赖项注入。
尝试使用$window.open(URL,"_self")