[英]Height not being set on element using Angular 2 directive
我正在尝试创建一个流体textarea但是当使用“角度2方式”进行DOM操作时,我无法在元素上设置高度。
零件:
import {Directive, ElementRef, HostBinding, HostListener} from '@angular/core';
@Directive({
selector: '[fluidHeight]',
host: {
'(input)': 'setHeight()'
}
})
export class FluidHeightDirective {
constructor(private _elementRef: ElementRef) {}
@HostBinding('style.height.px')
height: number;
setHeight() {
this.height = this._elementRef.nativeElement.scrollHeight + 'px';
}
}
标记:
<textarea [(ngModel)]="model" fluidHeight></textarea>
为什么我在setHeight
函数中得到正确的值但是没有在textarea
上设置高度?
如果你使用.px
@HostBinding('style.height.px')
你不应该添加在这里以及
this.height = this._elementRef.nativeElement.scrollHeight + 'px';
使用其中之一
@HostBinding('style.height')
要么
this.height = this._elementRef.nativeElement.scrollHeight;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.