9

AngularJS 지시문 내에서 orientationchange 이벤트를 호출 할 수 있습니까?Angular 단위의 창 방향 변경 이벤트

현재 angular-masonry으로 작업 중이며 휴대 기기의 방향이 바뀌면 벽돌을 업데이트/새로 고치려고합니다.

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

무엇을 :

내가이 발견했습니다하지만 난 각도

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

답변

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

}); 
+1

Thx, 생각보다 쉽습니다! – tdhulster

+3

Ofc 컨트롤러에 $ window를 주입하는 것을 잊지 마세요! – amdev

+0

하지만 매우 이상한 것이 있습니다. 'orientationchange'는 화면 너비가 변경되기 전에 실행됩니다. 따라서 'orientationchange'직후에 뭔가를 실행하고 새로운 너비를 얻으려고하면 이전의 것을 사용하십시오. – amdev

3
내부 $ 윈도우 서비스로이 작업을 수행하는 방법을 궁금하네요

나는 이런 식으로 구현 너 생각하니?

의견을 환영합니다.

6

희망이 도움이됩니다. 몸체에 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}); 
      }); 

     } 
    }; 
}]); 
+0

이 솔루션은지도 지침에서 도움이되었습니다. Thx = D –