web-dev-qa-db-ja.com

Angularのウィンドウorientationchangeイベント

AngularJSディレクティブ内でorientationchangeイベントを呼び出す方法はありますか?

現在、 angular-masonry を使用しており、モバイルデバイスの向きが変わったときに石積みを更新/更新しようとしています。

私はこれを見つけましたが、Angular内の$ windowサービスでこれを行う方法を考えています

window.addEventListener("orientationchange", function() {
  // Announce the new orientation number
  console.log(window.orientation);
}, false);
12
tdhulster
angular.element($window).bind('orientationchange', function () {

});
31
user1325394

お役に立てれば。ディレクティブをattrとしてbodyにアタッチします。 iPhone5でテスト済み。

'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});
            });

        }
    };
}]);
6
Nick Taras

私はそれをこのように実装しました:

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

どう思いますか?

コメントは大歓迎です。

3
fmquaglia