2015-07-20 83 views
1

我有一個textarea,它應該在加載時調整到scrollHeight的大小。我有一個關鍵事件沒有任何問題來調整這樣的textarea的:如何在元素加載角度時使用高度獲取元素?

$scope.resize= function (event) { 
         //Auto size: 
    var element = typeof event === 'object' ? event.target : document.getElementById(event); 
    var scrollHeight = element.scrollHeight - 60; 
    element.style.height = scrollHeight + "px"; 
} 

但我無法調整它的大小,加載元素時。我嘗試過使用$ element和$ element [0],但是我注意到$ element的高度爲0.我不想通過窗口高度來適應高度(我可以通過$ window獲得窗口高度)。在角度加載元素後,是否有任何方法獲取element.height和element.scrollHeight?

+0

也許得到的元素這種方式將有助於:http://stackoverflow.com/questions/18302493/is-there-a-way-to-get-the-raw-dom-element-from-an -angular-element – cyan

+0

我相信你在尋找的是這個http://stackoverflow.com/questions/454202/creating-a-textarea-with-auto-resize –

+0

我想你應該看到我的回答爲angularjs實現https:/ /stackoverflow.com/questions/454202/creating-a-textarea-with-auto-resize/45947590#45947590 – chrmcpn

回答

1

把它拋在$ timeout之後,因爲這樣可以讓角度消化並且創建元素。

$timeout(function(){ 
    //do work on element here 
});