应用程序外的角度 Ui-router 链接但在同一域中

angular Ui-router link out of app but in the same domain(应用程序外的角度 Ui-router 链接但在同一域中)

本文介绍了应用程序外的角度 Ui-router 链接但在同一域中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的 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 链接但在同一域中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:应用程序外的角度 Ui-router 链接但在同一域中

基础教程推荐