2016-03-22 22 views
0

Ben angularjs bir div yüksekliğini almaya çalışıyorum, ancak yalnızca asla başlangıç ​​değerini ve günceller:olsun yüksekliği

vm.summaryHeight = $(".history-log-container").height(); 
console.log(vm.summaryHeight);//returns 0 and then never logs again. 

Nasıl bu div yüksekliğini alabilirsiniz güncellendiği gibi? Diğerleri söylediler aksi belirtmedikçe

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); 
    }) 
    } 
+2

'$ watch' eklemeyi denediniz mi? –

+0

Bu yüksekliği ne zaman almaya çalışıyorsunuz? Değiştiğinde yüksekliği alır mısın? Nasıl değişiyor? Ayrıca, bize HTML'nizi gösterebilir misiniz? – klauskpm

+0

@MB evet Bir soruyu denedim, sorumu güncelliyorum – devdropper87

cevap

0

, değer kez alınacaktır:

Bu çalıştı. Gibi bir şey deneyin;

$(document).resize(function(){ 
    // Your code here 
}); 

senin pencere boyutu değişen belge retaken edilecek değer boyutlandırılır sonra her hedef elemanın yüksekliğini etkiliyorsa. Bu, belgeyi değil, öğeyi hedeflemeniz durumunda da işe yarayabilir;

$('.history-log-container').resize(function(){ 
    // Your code here 
}); 

Ama ben sadece genellikle bir belge boyutlandırma fonksiyonu içinde tüm penceremin duyarlı ahar olduğunu out kontrol etmesi gerekir.