因此,我的网站100%不是"由AngularJS提供支持",其中一些只是简单的静态HTML,如登录页面或面向内容的东西,这是简单的HTML,原因很明显.
我似乎能够获得正常导航链接的唯一方法是这样的:
$routeProvider
.when('/plans', {templateUrl: '<%= asset_path('ng/views/start.html') %>'})
# Catch all
.otherwise({ redirectTo: (p,loc) -> window.location = loc })
Run Code Online (Sandbox Code Playgroud)
感觉就像我能做到的所有应该更简单.otherwise(false),它只是正常导航.同样适用于`.when('/ something'/,false),但我没有在文档中看到任何暗示这是可能的.
有谁知道更好的方法吗?
编辑1:
我发现的一个解决方案是target='_self'在链接中使用.
另一个显然是设置应用程序的"基本URL",如文档中所述.那么该基地之外的任何链接都应该正常导航.但是,这似乎没有按照概述的方式工作,并且该示例与文档建议的内容不匹配.
如果您使用的是 hashbang url(例如 #/plans),那么您应该已全部设置完毕,如果您使用的是 html5 历史 api ($locationProvider.html5(true)),那么您需要为您的应用程序命名空间(正确设置 base[href])并将内容放在该名称空间之外。
相关代码:
target="_self"另一种解决方案是在该元素上使用a。同样,只有在使用 html5(历史推送状态)时,这才应该是一个问题。
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |