Andrello
@Andrello

Почему не перекрываются переменные?

Контроллеры формы регистрации в два шага, в зависимости от шага меняю стиль ссылок:

regControllers.controller('FirstStepCtrl', ['$scope', '$routeParams', '$rootScope',
  function($scope, $routeParams, $rootScope) {

    $scope.$parent.linkclass.state1 = 'active';
    $scope.$parent.linkclass.state2 = 'allow'; 
... });

regControllers.controller('SecondStepCtrl', ['$scope', '$routeParams', '$rootScope',
  function($scope, $routeParams, $rootScope) {

    $scope.$parent.linkclass.state1 = 'allow';
    $scope.$parent.linkclass.state2 = 'active'; 
...
});


так вот, при переходе на контроллер 2 ничего не происходит

<a href="" ng-click="goStep(1)" class="{{linkclass.state1}}">Шаг 1</a>
<a href="" ng-click="goStep(2)" class="{{linkclass.state2}}">Шаг 2</a>
  • Вопрос задан
  • 2513 просмотров
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
$scope.$parent
не надо так делать. по хорошему ваш код не должен вообще ничего знать о том, что есть в Scope помимо того что вы явно туда добавляете. Ни к каким $parent обращаться не нужно.

То что вы делаете через два контроллера на самом деле можно объединить в один контроллер, или же вынести в третий более высокого уровня.
Ответ написан
Комментировать
Andrello
@Andrello Автор вопроса
@Fesor реализовано вот так:

function($routeProvider) {
    $routeProvider.
      when('/step-1', {
        templateUrl: 'reg/step-1.html',
        controller: 'FirstStepCtrl'
      }).
      when('/step-2', {
        templateUrl: 'reg/step-2.html',
        controller: 'SecondStepCtrl'
      }).


Можно ли как-то сделать в моем случае?
p.s Пробовал rootScope, такая же фигня

или как лучше сделать?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы