gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 11:28:10 24 4
gpt4 key购买 nike

所以我的网站并不是 100% 都是“由 AngularJS 提供支持”,其中一些只是简单的静态 HTML,比如登陆页面或面向内容的内容,这是简单的 HTML,原因很明显。

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

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

感觉一切都应该更简单,就像我可以做的那样 .otherwise(false) 并且它会正常导航。 `.when('/something'/, false) 也是如此,但我在文档中没有看到任何表明这是可能的。

有谁知道更好的方法吗?

编辑1:

我发现的一个解决方案是在链接中使用target='_self'

另一个显然是设置应用程序的“基本 URL”,如 the docs 中所述。 。然后该基地之外的任何链接都应该正常导航。然而,这似乎并不像概述的那样工作,并且该示例也不符合文档的建议。

最佳答案

只是创建一个链接 external file

如果您使用的是 hashbang url(例如 #/plans),那么您应该已准备就绪,如果您使用的是 html5 历史 api ($locationProvider.html5(true)),那么您需要为您的应用程序命名空间(设置 base[href] ] 正确)并将内容放在该命名空间之外。

相关代码:

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

另一个解决方案是在该 a 元素上使用 target="_self" 。同样,只有在使用 html5(历史推送状态)时,这才应该是一个问题。

关于AngularJS $routeProvider,回退到默认链接导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14469946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com