Я использую angular, и у моего url всегда есть "!" (восклицательный знак)

Например:

http://localhost/#!/login.html

Мне не нужно "!". Как я могу удалить его?

eg:http://localhost/#/login.html

Это мой код маршрутизатора:

  // Redirect any unmatched url
$urlRouterProvider.otherwise("/login.html");
$stateProvider.state('login', {
    url: "/login.html",
    templateUrl: "views/login.html",
    data: {pageTitle: "login", isLeft: false},
    controller: "LoginCtrl",
    resolve: {
        deps: ['$ocLazyLoad', function ($ocLazyLoad) {
            return $ocLazyLoad.load({
                name: 'myApp',
                files: [
                    'controllers/LoginCtrl.js'
                ]
            });
        }]
    }
});

Я думаю, что Angular -ui-router может возникнуть проблема, но я не могу найти решение.

Спасибо!

Ответ 1

Режим Hashbang

Режим Hashbang - это трюк, который использует AngularJS для обеспечения возможностей глубокой привязки к вашему Angular Программы. В режиме hashbang (возврат к режиму html5) пути URL-адреса имеют добавочный символ #. Они не переписывают теги и не требуют поддержки на стороне сервера. Hashbang mode - режим по умолчанию, который использует AngularJS, если он не сказал иначе. URL-адрес hashbang выглядит так:

http://yoursite.com/#!/inbox/all

Чтобы быть явным и настраивать режим hashbang, его необходимо настроить в функции конфигурации на модуль приложения

Мы также можем настроить hashPrefix, который в режиме hashbang является! префикс. Этот префикс является частью резервного механизма, который Angularиспользуется для старых браузеров. Мы также можем настроить этот символ.

Чтобы настроить hashPrefix:

angular.module('myApp', ['ngRoute'])
.config(['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode(false);
$locationProvider.hashPrefix('!');
}]);

Ответ 2

$locationProvider.hasPrefix = '!';

Я думаю, что вы настроили $locationProvider как this.Remove это, чтобы избежать !

Ответ 3

app.config(function ($routeProvider, $locationProvider) {
            $locationProvider.hashPrefix('page');
$routeProvider.when("/home", {
                templateUrl: "templates/home.html",
                controller: "homecontroller"

            });