Обновление браузера роутера Ui - PullRequest
0 голосов
/ 07 мая 2018

У меня есть проект Angular 1.x со следующей конфигурацией:

HTML-корень :

<base href="/admin/" />
<div ui-view="mainView">

Конфигурация провайдера состояний :

config(['$stateProvider', function ($stateProvider) {
   $stateProvider
        .state('cats_state', {
            url: 'cats',
            views: {
                'mainView': {
                    templateUrl: '/app/components/cats/cats.html'
                }
            }
        })
        .state('dogs_state', {
            url: 'dogs',
            views: {
                'mainView': {
                    templateUrl: '/app/components/dogs/dogs.html'
                }
            }
        })

}])

Состояния cats_state и dogs_state связаны с URL-адресами, относящимися к пути /admin/, и они загружают определенный HTML-шаблон в той же области. Когда я нажимаю на любой из них, URL-адрес браузера изменяется на /admin/cats и / или /admin/dogs. Единственная проблема: как перезагрузить то же самое состояние / шаблон, когда я вручную перезагружаю URL /admin/cats? Я хочу добиться этого, используя только угловой UI-роутер, если это возможно.

1 Ответ

0 голосов
/ 09 мая 2018

Пока люди просматривают этот вопрос (но не отвечают), я нашел решение: и это определить

<base href="/" />

и URL-адреса для различных состояний:

config(['$stateProvider', function ($stateProvider) {
   $stateProvider
        .state('cats_state', {
            url: '/admin/cats',
            views: {
                'mainView': {
                    templateUrl: '/app/components/cats/cats.html'
                }
            }
        })
        .state('dogs_state', {
            url: '/admin/dogs',
            views: {
                'mainView': {
                    templateUrl: '/app/components/dogs/dogs.html'
                }
            }
        })

}])

Я не совсем понял, почему это происходит, но работает так. Кроме того, я заметил, что / путь сначала перезагружается (и, следовательно, все зависимости), и после этого ui-router как-то разрешает текущий URL, вероятно, основываясь на конфигурации состояний, как адрес, указанный в адресе браузера.

...