Is there a way to call the orientationchange event inside an AngularJS directive?
I'm currently working with angular-masonry and I'm trying to update/refresh masonry when the orientation of the mobile device changes.
I've found this but I'm wondering how to do this with the $window service inside Angular
window.addEventListener("orientationchange", function() {
// Announce the new orientation number
console.log(window.orientation);
}, false);
angular.element($window).bind('orientationchange', function () {
});
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});
});
}
};
}]);
I implemented it this way:
$window.addEventListener('orientationchange', function() {
your code here
}, false);
What do you think?
Comments are welcome.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With