我真的不了解整个html5mode / hashbangmode业务。
$routeProvider.when('/a/b/:c', {})
仅当我设置为html5mode时才有效。为什么?所有浏览器都支持html5mode吗?
$locationProvider.html5Mode(true)
通过“工作”我的意思是我可以访问路由参数将被记录。
$scope.$on('$routeChangeSuccess', function(scope, route) {
console.log(route.pathParams.c)
});
答案 0 :(得分:0)
根据我的经验,$routeProvider
非常脆弱,会导致您浪费时间和头痛。我尝试根据我在SO上阅读的内容以几种不同的方式添加$locationProvider
,并且每次都发生了奇怪的事情,并且总会发生至少一件坏事,这会迫使我摆脱它再次。例如,有时潜在的.json
调用将会中断,因为它们引用了具有重复组件的路径,有时它会在/assets
中中断映像的所有路径,有时所有路由都会停止工作,除非'否则'默认路由(尽管代码正确)。所有关于SO甚至文档的角度建议的问题在于,他们不会将建议放在特定版本的角度上下文中。太多的版本,太多的语法变体,太多的文件命名不同版本,太多的方法来安装一切(咕噜咕噜?npm?手动?宝石?其他一些我从未听说过但突然间似乎正在使用?),所有教程告诉你使用的google托管js libs的断开链接,这些都加剧了头痛和浪费时间。你认为谷歌有资源来正确解释如何使用这个东西。祝你好运....如果有人想形成一个自杀契约,也许我们可以见面并将子弹放在我们的脑袋里