# появляется в URL для UI.Router

У меня была проблема несколько дней назад, когда я получал случайный # внутри URL, например:

http://localhost:55462/#/forgotpassword

Я задал вопрос об этом и добавил это в свой раздел app.config:

$locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});

Это не удалило знак #, а просто переместило его, и теперь URL выглядит так:

http://localhost:55462/#forgotpassword

Моя текущая маршрутизация выглядит так:

app.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
    .state('login', {
        url: '/',
        templateUrl: 'partials/login.html',
        controller: 'loginController'
    })
    .state('forgotpassword', {
        url: '/forgotpassword',
        templateUrl: 'partials/forgotpassword.html',
        controller: 'forgotPasswordController'
    })
    .state('forgotpasswordcode', {
        url: '/forgotpasswordcode',
        templateUrl: 'partials/forgotpasswordcode.html',
        controller: 'forgotPasswordController'
    })
    .state('forgotpasswordnewpassword', {
        url: '/forgotpasswordnewpassword',
        templateUrl: 'partials/forgotpasswordnewpassword.html',
        controller: 'forgotPasswordController'
    })
    .state('dashboard', {
        url: '/dashboard',
        templateUrl: 'partials/dashboard.html',
        controller: 'calenderController'
    })
    .state('dashboard.calender', {
        url: '/calender',
        templateUrl: 'partials/dashboard.calender.html',
        controller: 'calenderController'
    })

$locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});

//.otherwise({ redirectTo: '/login', controller: 'loginController' })

});

и когда я перенаправляю на другую страницу, я использую:

$location.path('/forgotpasswordcode');

Может кто-нибудь помочь мне с этим вопросом?

1 ответ

Решение

Использование $state.go() вместо $location.path(), Убедитесь, что для инъекций $state везде, где вы хотите использовать его также

$state.go(stateName[,params]) // example $state.go('dashboard.calender')

$state это сервис, предоставляемый ui-router

Другие вопросы по тегам