2016-02-10 3 views
0

Я пытаюсь показать одну кнопку, как в этом Plunker

<div ng-show="showbtn"><button class="fix btn btn-success" ng-click="top()">To the top</button></div> 

О событии прокрутки, я сделал $rootScope.$emit вызов и становится срабатывает тоже, но не уверен, что значение $scope не изменяется внутри контроллера $ mainCtrl. Есть $scope внутри $rootScope отличается?

ответ

2

Обработчик событий (функция, переданная в $rootScope.$on), проходит за пределами цикла нормального цикла Angular, поэтому вам нужно указать родительскую область, что-то изменилось. Вы можете использовать $apply сделать так:

$rootScope.$on('scrolled',function(event,data){ 
    $scope.$apply(function() { 
    $scope.showbtn = data.message; 
    }); 
}); 

Вот updated Plunker.

+0

Большое спасибо. Я пропустил концепцию ядра –

Смежные вопросы