因此,我的网站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'
。
另一个显然是设置the docs中概述的应用程序的“基本URL”。那么该基地之外的任何链接都应该正常导航。但是,这似乎没有按照概述的方式工作,并且该示例与文档建议的内容不匹配。
答案 0 :(得分:3)
只需创建指向它的链接external file
如果你正在使用hashbang网址(例如#/ plans)那么你应该全部设置,如果你使用的是html5历史api($ locationProvider.html5(true))那么你需要命名你的应用程序(set base [href]正确)并将内容放在该命名空间之外。
相关代码:
另一种解决方案是在target="_self"
元素上使用a
。只有在使用html5(history pushState)时,这应该是一个问题。