Я пытаюсь получить высоту div в angularjs, но он возвращает только начальное значение и никогда не обновляется:
vm.summaryHeight = $(".history-log-container").height();
console.log(vm.summaryHeight);//returns 0 and then never logs again.
Как я могу получить высоту этого div, когда он обновляется?
Я попробовал это:
link: function ($scope, element, attrs) {
//console.log(element.height());
$scope.$watch(function(){
return element.height();
}, function(oldVal, newVal){
//returns the initial values then nothing else
console.log(arguments);
})
}
Как говорили другие, значение будет принято один раз, если вы не укажете иное. Попробуй что-нибудь вроде;
$(document).resize(function(){
// Your code here
});
Если изменение размера окна влияет на высоту целевого элемента, то всякий раз, когда документ изменяется, значение будет возвращено. Это может также работать, если вы должны ориентироваться на элемент, а не на документ;
$('.history-log-container').resize(function(){
// Your code here
});
Но вам нужно будет проверить, что out- у меня обычно есть все мои чувствительные к окну элементы в пределах одной функции изменения размера документа.
$watch
?