角路线 - 额外#在URL
问题描述:
学习一些角 - 和我卡在路由角路线 - 额外#在URL
这里是我的角度配置
var meanApp = angular.module('carz', ['ngRoute']);
meanApp.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'home.html',
controller: 'mainCtrl'
})
.when('/red', {
templateUrl: 'red.html',
controller: 'redCtrl'
});
});
这里是我的链接
<a href="#">Home</a>
<a href="#red">Red</a>
当我加载我的节点应用程序,我指向
http://localhost:8080/#!/
我的角度控制器按照预期在ng-view
标签内工作
但是我无法使用上述链接从一个控制器切换到另一个控制器。
如果我选择红色标签我的网址增加了一个额外#成为
http://localhost:8080/#!/#red
注意,如果我手动更改
http://localhost:8080/#!/red
我的控制器的变化和它的作品,为什么我收到额外#
感谢您的任何帮助
答
由于AngularJS 1.6在路由中存在突破性变化:
$ location hash-bang URL的哈希前缀已从空字符串“”更改为“爆炸!”。
(见https://github.com/angular/angular.js/blob/master/CHANGELOG.md)
解决方案:
要么开始使用#!代替# 或设置$ locationProvider只使用#,像这样接受:
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
这个问题可以对你有所帮助,谢谢。 http://*.com/questions/14771091/removing-the-fragment-identifier-from-angularjs-urls-symbol –
Red。它应该工作 – Ved
@ArpitMeena我试图在发布问题之前,它并没有解决问题。 – DogCoffee