Angular UI Router ignoring HTML5 Mode off

2019-07-17 17:55发布

问题:

Angular UI Router is ignoring HTML5Mode(false), and it's rendering links in a way that can't be bookmarked or directly landing upon:

app.js:

$stateProvider
    .state('search', {
      url: '/search',
      views: {
        'main.wrapper': {
          templateUrl: 'views/search.html',
          controller: 'SearchCtrl'
        },
        'navbar': { templateUrl: 'views/search.navbar.html' }
      });

$locationProvider.html5Mode(false);

foo.html:

<a ui-sref="search">Search</a>

Becomes

<a href="/search">Search</a>

Shouldn't it detect it's not on HTML5 Mode and return

<a href="/#/search">Search</a>

回答1:

As indicated by Radim Köhler, this is a bug between angular-ui-router ~0.2.11 and angular 1.3.0.

https://github.com/angular-ui/ui-router/issues/1397