Ich bin eine Richtlinie mit einer Funktion in meinem Controller rufen, wenn ein div der Größe verändert erhalten:Anruffunktion auf Resize und unter Last mit einer Winkel Richtlinie
VIEW
<div id="tables-container" data-tap-disabled="true" on-size-changed="changeSize"></div>
RICHTLINIE
app.directive('onSizeChanged', ['$window', '$timeout', function ($window, $timeout) {
return {
restrict: 'A',
scope: {
onSizeChanged: '&'
},
link: function (scope, $element, attr) {
var element = $element[0];
cacheElementSize(scope, element);
$window.addEventListener('resize', onWindowResize);
function cacheElementSize(scope, element) {
scope.cachedElementWidth = element.offsetWidth;
scope.cachedElementHeight = element.offsetHeight;
}
function onWindowResize() {
var isSizeChanged = scope.cachedElementWidth != element.offsetWidth || scope.cachedElementHeight != element.offsetHeight;
if (isSizeChanged) {
var expression = scope.onSizeChanged();
$timeout(function() {
expression(element.offsetWidth, element.offsetHeight);
}, 500);
}
}
}
}
}]);
CONTROLLER
$scope.changeSize = function(w, h) {
//DO SOMETHING WITH w AND h...
};
arbeitet Dieser große onResize. Die Sache, die mich verwirrt, ist Wie kann ich die auf Größe geänderte Funktion zu Mittag essen, wenn die Seite geladen wird (onReady)?