Я создал директиву для показа всплывающих подсказок:
app.directive('tooltip',function(){
return{
restrict: 'A',
link: function(scope,element,attr){
element.bind('mouseenter',function(e){
scope.setStyle(e);
});
}
}
});
Соответствующая функция setStyle()
:
$scope.setStyle = function(e){
$scope.style = {
position: 'absolute',
// some other styles
};
$scope.$digest();
};
$scope.style
применяется к этому:
<span ng-style="style">I am a tooltip</span>
который является частью моего представления, обрабатывается контроллером, которому принадлежит $scope.style
Почему мне нужно вызывать $digest()
, чтобы применить изменения к $scope.style
, которые были объявлены и инициализированы ранее?