2015-07-20 60 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 
});