Как исправить UI-маршрут, когда маршрут загружает предыдущее представление, а также под текущим представлением - PullRequest
0 голосов
/ 18 апреля 2019

Я новичок в angular и начал с angular1 ui-route.Когда я перемещаюсь от одного вида (view1) к другому (view2), представление 2 загружается нормально, но когда я прокручиваю вниз, я обнаружил, представление 1 появляется под представлением 2. Проблема наблюдается только во время навигации по ui-route.На странице перезагрузки / обновления я нахожу, все работает нормально.Невозможно выяснить причину.

Версия библиотеки:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.2/angular-ui-router.min.js"></script>  
<script src="https://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-2.5.0.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-animate.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-sanitize.js"></script>

При переходе от панели мониторинга к представлению пользователей, пользователи видят загрузки с представлением панели мониторинга под ним.в приложении отдельно от тега тела.Другие страницы - это просто шаблоны / обычные HTML-страницы.

HTML :
<body ng-app="NoticeboardApp" ng-cloak>
  <div ui-view></div>
</body>


Route :
<a ui-sref="users"></a>
<a ui-sref="notifications"></a>

app.js :
.state('dashboard', {
        url: '/dashboard',
        templateUrl: 'pages/dashboard.html',
        controller: 'dashboardCtrl'
    })
    .state('users', {
        url: '/users',
        templateUrl: 'pages/user.html',
        controller: 'userCtrl'
    })
    .state('notifications', {
        url: '/notifications',
        templateUrl: 'pages/notification.html',
        controller: 'notificationCtrl'
    })



After routing, inspect element code shows two ui-view :
[inspect elements code][1]


  [1]: https://i.stack.imgur.com/Wa1hW.png

1 Ответ

0 голосов
/ 18 апреля 2019

Если я правильно помню, в ui-router была ошибка, которую вы можете устранить, прокрутив ее вверх при загрузке новой страницы.

$scope.$on('$stateChangeSuccess', function () {
    window.scrollTo(0, 0);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...