Не удается добавить или удалить класс тела при использовании события $ stateChangeSuccess из UI-Router

javascript angularjs angular-ui-router

154 просмотра

1 ответ

Это проблема заняла у меня около недели до устранения неполадок !!! Я не могу найти ответ. Так что я поделюсь с вами, ребята.

Ниже приведен код. Класс testбудет применяться к телу без каких-либо проблем, если я нажму Войти в / home.

НО. Если я вставлю http: // localhost: 3000 / login в браузер, он вообще не будет работать!

angular.module('app').config(function($stateProvider) {

$stateProvider
  .state('home', {
    url: '/home'
  }).state('login', {
    url: '/login'
  });

}).run(function($rootScope) {

  $rootScope.$on('$stateChangeSuccess', function () {
    var bodyElem = angular.element(document.body);
    bodyElem.addClass('test');
  });

});
Автор: Ling Источник Размещён: 08.11.2019 11:23

Ответы (1)


0 плюса

Решение

После полной отладки и трассировки. Я выяснил причину. Просто используйте $viewContentLoadedвместо$stateChangeSuccess

Теперь код работает как положено

$rootScope.$on('$viewContentLoaded', function () {
  var bodyElem = angular.element(document.body);
  bodyElem.addClass('test');
});
Автор: Ling Размещён: 20.08.2016 02:01
Вопросы из категории :
32x32