Подтвердить что ты не робот

$ hash prefix

Я только начинаю с Angular, так что это может быть обычная ошибка новичков, но я пытаюсь добиться следующего формата URL:

http://myapp.localhost/index.html#!/about

Я считаю, что по умолчанию для Angular?

Это моя конфигурация:

angular.module('App', []).config(function($routeProvider, $locationProvider, VIEWS_ROOT) {
    $locationProvider.html5Mode(false);
    $locationProvider.hashPrefix = '!';

    // Routing
    $routeProvider.when('/', {templateUrl: './welcome.html', controller: 'WelcomeController'});
   $routeProvider.when('/about', {templateUrl: './about.html', controller: 'AboutController'});
})
.run(function($rootScope) {
    //...
});

В моем html у меня есть простой якорь, например:

<a href="#!/about">About</a>

Однако, когда я нажимаю на этот якорь, результирующий URL-адрес:

http://myapp.localhost/index.html#/!/about

Который, очевидно, не соответствует ни одному из моих маршрутов... немного озадачен тем, что на самом деле происходит здесь, или тем, что я делаю неправильно. Я запускаю свой локальный экземпляр Apache под призраком. Ничего не происходит с mod_rewrite - так что это выглядит как Angular.

4b9b3361

Ответ 1

Это метод установки hashPrefix, а не свойство. $locationProvider.hashPrefix('!');