Событие изменения ориентации окна в Angular

Есть ли способ вызвать событие directionalchange в директиве AngularJS?

В настоящее время я работаю с угловой кладкой и пытаюсь обновить / обновить кладку при изменении ориентации мобильного устройства.

Я нашел это, но мне интересно, как это сделать с помощью сервиса $window внутри Angular

window.addEventListener("orientationchange", function() {
  // Announce the new orientation number
  console.log(window.orientation);
}, false);

3 ответа

Решение
angular.element($window).bind('orientationchange', function () {

});

Надеюсь это поможет. Прикрепите директиву как attr к телу. Протестировано с IPhone 5.

'use strict';

angular.module('appModuleNameHere')
    .directive('DirPrefixNameOrientationChange', ['$rootScope',function ($state) {
    return {
        restrict: 'A',
        replace: true,
        link: function postLink($scope, element, attrs) {

            element.bind('orientationchange', function () {
                $state.go($state.current, {}, {reload: true});
            });

        }
    };
}]);

Я реализовал это так:

$window.addEventListener('orientationchange', function() {
  your code here
}, false);

Как вы думаете?

Комментарии приветствуются.

Другие вопросы по тегам