window height angular
by Ryan
HTML
<script src="http://code.angularjs.org/1.0.0/angular-1.0.0.js"></script>
<div ng-app="miniapp" ng-controller="AppController"
x-height-offset="100"
x-width-offset="50"
x-resize="resizeElement(element, width, height)"
x-resize >
window.height: {{windowHeight}} <br />
window.width: {{windowWidth}} <br />
</div>
CSS
div { border:1px solid red; }
JavaScript
var app = angular.module('miniapp', []);
function AppController($scope) {
$scope.resizeElement = function(element, width, height){
element.style("width", width);
element.style("height", height);
};
}
app.directive('resize', function ($window) {
return {
restrict: 'A',
scope: {
widthOffset: "@",
heightOffset: "@",
resize: "&"
},
link: function (scope, element, attrs) {
var w = angular.element($window);
scope.getWindowDimensions = function () {
return { 'h': w.height(), 'w': w.width() };
};
scope.$watch(scope.getWindowDimensions, function (newValue, oldValue) {
scope.windowHeight = newValue.h;
scope.windowWidth = newValue.w;
scope.width = (newValue.w - scope.widthOffset) + "px";
scope.height = (newValue.h - scope.heightOffset) + "px";
scope.resize(element, width, height);
}, true);
w.bind('resize', function () {
scope.$apply();
});
}
}
});