angular 路由URL中出现#!的解决方法

今天做项目的时候遇到了这个问题,记录一下
在使用angular大于1.6.0的版本时,地址中的 “/” 会自动被解析 而且还会在URL地址中加入#! 导致路由不能正常的工作,像下面这个路由这样:
http://localhost:9000/#!/
针对此种情况有两种解决方式:
一、换版本,只要比1.6.0低就可以了;
二、在配置路由的时候加上此句:

$locationProvider.hashPrefix('');

这样在路由中便不会出现感叹号
详细如下:

angular
  .module('ztewebsiteApp', [
    'ngAnimate',
    'ngAria',
    'ngCookies',
    'ngMessages',
    'ngResource',
    'ngRoute',
    'ngSanitize',
    'ngTouch'
  ])
  .config(function ($routeProvider, $locationProvider) {
    $locationProvider.hashPrefix('');
    $routeProvider
      .when('/', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  });

欢迎分享本文,转载请保留出处:前端ABC » angular 路由URL中出现#!的解决方法

分享到:更多 ()

发表评论 0