gpt4 book ai didi

angular - 未使用 Angular 2 指令在元素上设置高度

转载 作者:太空狗 更新时间:2023-10-29 18:21:30 25 4
gpt4 key购买 nike

我正在尝试创建一个流畅的文本区域,但在使用“Angular 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;

关于angular - 未使用 Angular 2 指令在元素上设置高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37418861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com