加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS $routeProvider,回退到默认链接导航

发布时间:2020-12-17 10:21:28 所属栏目:安全 来源:网络整理
导读:因此,我的网站100%不是“由AngularJS提供支持”,其中一些只是简单的静态 HTML,如登录页面或面向内容的东西,这是简单的HTML,原因很明显. 我似乎能够获得正常导航链接的唯一方法是这样的: $routeProvider .when('/plans',{templateUrl: '%= asset_path('ng/v
因此,我的网站100%不是“由AngularJS提供支持”,其中一些只是简单的静态 HTML,如登录页面或面向内容的东西,这是简单的HTML,原因很明显.

我似乎能够获得正常导航链接的唯一方法是这样的:

$routeProvider
    .when('/plans',{templateUrl: '<%= asset_path('ng/views/start.html') %>'})
    # Catch all
    .otherwise({ redirectTo: (p,loc) -> window.location = loc })

感觉就像捕捉所有应该更简单,就像我可以做的那样.其他(错误的)它只会正常导航.同样适用于`.when(‘/ something’/,false),但我没有在文档中看到任何暗示这是可能的.

有谁知道更好的方法吗?

编辑1:

我发现的一个解决方案是在链接中使用target =’_ self’.

另一个显然是设置应用程序的“基本URL”,如the docs中所述.然后,该基础之外的任何链接都应该正常导航.但是,这似乎没有按照概述的方式工作,并且该示例与文档建议的内容不匹配.

只是创建一个链接 external file

如果你正在使用hashbang网址(例如#/ plans)那么你应该全部设置,如果你使用的是html5历史api($locationProvider.html5(true))那么你需要命名你的app(正确设置base [href])并将内容放在该命名空间之外.

相关代码:

https://github.com/angular/angular.js/blob/4df45b20d460239a0f5001fb0dd59f95e2d0e80d/src/ng/location.js#L560

另一个解决方案是在元素上使用target =“_ self”.只有在使用html5(history pushState)时,这应该是一个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读