2014-08-30 74 views
0

我不太了解整个html5mode/hashbangmode业务。

$routeProvider.when('/a/b/:c', {}) 

这只适用于如果我设置为html5mode。为什么?所有浏览器都支持html5mode吗?

$locationProvider.html5Mode(true) 

“作品”我的意思是我可以访问路线参数将得到记录。

$scope.$on('$routeChangeSuccess', function(scope, route) { 
    console.log(route.pathParams.c) 
}); 

回答

0

根据我的经验,$routeProvider是非常片状,它会导致你很多浪费时间和头痛。我试着以几种不同的方式添加$locationProvider,这是基于我读过的东西,每次发生奇怪的事情,总会有至少一件坏事发生,迫使我再次摆脱它。例如,有时底层的.json调用会中断,因为它们引用的路径具有重复的组件,有时它会打破/assets中图像的所有路径,其他时候所有路由都将停止工作,除了“其他”默认设置路线(尽管代码是正确的)。所有关于SO甚至在文档中的角度建议的问题在于,他们不会将建议放在特定角度版本的上下文中。版本过多,语法变体太多,文件名称不同,文件名称不同,安装方式太多(grunt?npm?手动?gem?一些我从未听说过但突然间似乎每个人都似乎正在使用?),破坏链接到谷歌托管js库所有教程告诉你使用,这些都加起来头痛,浪费时间。你会认为谷歌会有资源来正确解释如何使用这个东西。祝你好运....如果有人想形成一个自杀协议,也许我们可以见面并在我们的头上一颗子弹一起