AngularJS1.6版本中ui-router路由中/#!/的解决方法

本地编译出的文件可以正常运行,但是服务器编译后到了测试那里路由上就莫名的出现了/#!/,这导致了很多问题。

后来查了下是服务器编译器把AngularJS升级到了1.6版本,而我本地的依旧是1.5。

但是1.6究竟做了哪些改变呢?

可以参考这个:https://github.com/angular/angular.js/commit/aa077e81129c740041438688dff2e8d20c3d7b52

可以看到里面多了很多/#!/的改动。。

如果想让路由依旧表现的与之前版本的一致可以这样做:

app..config(function($stateProvider, $urlRouterProvider,$locationProvider){
    $locationProvider.hashPrefix('');
}
1 app..config(function($stateProvider, $urlRouterProvider,$locationProvider){
2     $locationProvider.hashPrefix('');
3 }

参考:http://stackoverflow.com/questions/41211875/angularjs-1-6-0-latest-now-routes-not-working

https://docs.angularjs.org/guide/migration#commit-aa077e8

https://www.tongbiao.xyz/
原文地址:https://www.cnblogs.com/tongbiao/p/6994474.html