问题描述
我正在尝试在我的 Angular 应用中使用 ui-router.
I'm trying to use ui-router in my angular app.
我的基本网址是/segments",我使用基本标签来定义它.
My base url is "/segments" and I use base tag to define it.
<base href="/segments" />
这是我的路由配置:
var base = "/segments"
$stateProvider
.state('list', {
url: base,
controller: 'FilterLestCtrl',
templateUrl: '/segments/partial?partial=list'
})
.state('new', {
url: base + '/new',
data: {
mode: 'new'
},
controller: 'SegmentFormCtrl',
templateUrl: '/segments/partial?partial=edit'
})
.state('edit', {
url: base + '/:id/edit',
data: {
mode: 'edit'
},
controller: 'SegmentFormCtrl',
templateUrl: '/segments/partial?partial=edit'
});
$locationProvider.html5Mode(true).hashPrefix('!');
当我点击链接标签时,我无法从我的应用程序转到我网站上的其他资源,即我点击标签
When I click to link tag I can't get out from my app to other resource on my site, i.e. I click to tag
<a class="" href="/widgets">Widgets</a>
然后 url 改变了,什么也没发生.
and then url changing and nothing happened.
问题:如何使用 ui-router 处理指向站点其他页面的外部链接?
Question: How handle external link to other pages on site with ui-router?
推荐答案
这可能会有所帮助:angular.js 链接行为 - 禁用特定 URL 的深度链接
总而言之,您可以通过向其添加 target="_self"
来告诉 Angular 忽略用于路由目的的链接.这将允许浏览器处理不受 Angular 影响的链接.例如:
To summarize, you can tell Angular to ignore a link for routing purposes by adding target="_self"
to it. This will allow the browser to handle the link unencumbered by Angular. For example:
<代码><a href="/my-non-angular-link" target="_self">我的非 Angular 链接</a>
这种方法适用于您事先知道不应由 Angular 处理的链接.
This approach works for links that you know beforehand should not be handled by Angular.
这篇关于应用程序外的角度 Ui-router 链接但在同一域中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!