банальный компонент, внутри его контроллера банальная функция:
                  
                  
                  var $ctrl = this;
                  
                  
                  
                  
                  
                  function open() {
                  
                  
                      $ctrl.is_open = true;
                  
                  
                  }
                  
                  
                  
                  
                  
                  В шаблоне на $ctrl.is_open завязан ng-show.
                  
                  
                  
                  
                  
                  Если я вызываю эту функцию из самого компонента (просто хардкодом из контроллера или по ng-click на каком-нибудь элементе) - то все нормально.
                  
                  
                  
                  
                  
                  А вот если она вызывается  коллбеком из местной реализации Event Emitter'a (навроде ee.on( 'my-event',  open )), то начинается интересное:
                  
                  
                  - функция отрабатывает
                  
                  
                  - присваивает  $ctrl.is_open = true;
                  
                  
                  - нифига не обновляет шаблон
                  
                  
                  
                  
                  
                  В принципе, логично бы все валить на EventEmitter но:
                  
                  
                  1) в нем нет ничего замороченного, он просто проходит по массиву подписчиков и вызывает коллбеки
                  
                  
                  2) функцию то он вызывает нормально
                  
                  
                  3) в куче аналогичных мест - все работает как часы
                  
                  
                  
                  
                  
                  $scope.$apply(); и прочую подобную магию применял, дебаггером по коду ходил. Нифига.
                  
                  
                  
                  
                  
                  Есть у кого-нибудь хоть какие-то мысли, в какую сторону копать?
                  
                  
                
transclude true?
попробуй в $timeout обернуть
scope apply точно, не правильно готовишь
Поищи ng-if и прочие директивы с закрытые скоупы в соотв шаблонах
Обсуждают сегодня