12

有没有办法在 AngularJS 指令中调用orientationchange 事件?

我目前正在使用角砌体,并且正在尝试在移动设备的方向发生变化时更新/刷新砌体。

我找到了这个,但我想知道如何使用 Angular 中的 $window 服务来做到这一点

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

3 回答 3

32
angular.element($window).bind('orientationchange', function () {

});
于 2014-06-06T10:57:40.533 回答
6

Hope this helps. Attach directive as attr, to body. Tested with 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});
            });

        }
    };
}]);
于 2015-02-19T00:48:31.890 回答
4

我是这样实现的:

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

你怎么看?

欢迎评论。

于 2015-01-30T12:09:38.420 回答