新版本angular的ngRoute的url问题?

新手上路,请多包涵

1.在新版本的angular@1.6.0及以上版本时,配置ngRoute后,点击html#/a显示内容,点击超链接后url跳转去了html#!/a#%2Fa,图片描述

旧版本(@1.5.9)就没有这个问题,url为html#/a。图片描述

(描述不好请见谅)

2.代码

    var app = angular.module('app',['ngRoute']);
    // 配置路由
    app.config(['$routeProvider',function($routeProvider) {
        $routeProvider
            .when('/a', {
                controller : 'AController',
                templateUrl : 'a_tmpl'
            })
        }]);
    app.controller('AController', ['$scope', function($scope) {
        $scope.title = "AAA";
    }]);
阅读 3.1k
2 个回答
新手上路,请多包涵

上面的人说的是对的,只是他没有把代码写完整,我给你一个完整的(我用的1.6.x的版本也有你的问题)。
var appModule= angular.module('myApp',['ngRoute']);


//你需要增加的就是这一段关于$locationProvider的config设置
appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);

appModule.config(["$routeProvider",function($routeProvider){
    $routeProvider
    .when("/",{template:"Homepage"})
    .when("/gallery",{template:"GAllery"})
    .when("/article",{template:"Article"})
    .when("/footer",{templateUrl:"footer.html"})
    .otherwise({redirectTo:"/"});
}]);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题