Я искал время для поиска в Google, и до сих пор я нашел, как изменить размер окна с помощью директивы изменения размера окна, но в моем коде я использую window.innerHeight
, чтобы получить начальную высоту. Я могу использовать его в любое время, кроме случаев, когда мне нужно событие, когда оно изменяется. JavaScript window resize event не срабатывает для меня по некоторым причинам. Вот мой код внутри контроллера:Событие изменения размера окна в AngularJS
function adjustH() {
var bodyElem = document.getElementsByTagName('body')[0];
var topP = window.getComputedStyle(bodyElem, null).getPropertyValue('padding-top');
topP = topP.substring(0, topP.indexOf("px"));
var bottomP = window.getComputedStyle(bodyElem, null).getPropertyValue('padding-bottom');
bottomP = bottomP.substring(0, bottomP.indexOf("px"));
vm.h = window.innerHeight - topP - bottomP - 20;
}
window.onresize = function(event) {
adjustH();
}
Может кто-нибудь сказать мне, если это невозможно сделать это таким образом, и я должен идти по пути директивы? Или, если это возможно, скажите мне, что мне не хватает.
Я попытался, но все равно не сработал :( – serge
Было бы полезно, если бы вы добавили свой контроллер angularJS и любые директивы или службы, которыми пользуетесь – Tekill
Ничего, вы правы. Но единственное, что я не понимаю, это то, почему я 'window.innerHeight' работал, и мне не нужно было передавать его контроллеру. – serge