使$ location.path在同一帧中打开(target =“_ self”)

时间:2017-07-15 14:05:25

标签: javascript angularjs angular-ui-router html5-history location-href

在使用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")的解决方案。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

  • $window作为依赖项注入。

  • 尝试使用$window.open(URL,"_self")