1

所以我是 Angular 的新手,并试图弄清楚多条路由如何导致相同的 view/templateUrl 和控制器。这是我写的:

angular
  .module('mwsApp', [
    'ngAnimate',
    'ngCookies',
    'ngResource',
    'ngRoute',
    'ngSanitize',
    'ngTouch',
    'ui.bootstrap'
  ])
  .config(function ($routeProvider, $locationProvider) {
    // debugger
    $routeProvider
      .when('/', {
        templateUrl: 'index.html',
        controller: 'MainCtrl as vm',
      })
      .when('/rika', {
        templateUrl: 'index.html',
        controller: 'MainCtrl as vm',
      })
      // .otherwise({
      //   redirectTo: '/'
      // });

      $locationProvider.html5Mode(true).hashPrefix("!");
  });

问题:目前,如果我转到“localhost:9000/”,它会显示正确的版本,但如果我转到“localhost:9000/rika”,它会给我“无法获取 /rika”。

调试:我已将问题范围缩小到 html5Mode。我正在尝试摆脱 #! Angular 会自动添加到 URL 中,但是当我这样做时,会弹出错误。

感谢任何人的投入!

4

1 回答 1

0

你不能摆脱,#所以local development你需要评论这一行

$locationProvider.html5Mode(true).hashPrefix("!");

但是当你在一些server on production然后uncomment用它来删除#

否则你会一直没有得到错误reloads in local development

于 2017-09-06T09:39:47.593 回答