无法使用指令更改文本区域的Angular 5值

时间:2018-07-23 20:56:52

标签: html angular directive

这是HTML:

<textarea expandTextArea class="form-control rounded-0" placeholder="What's on 
your mind, {{ UserInfo.firstname }}?" name="postbody"></textarea>

这是打字稿代码:

@Directive({
    selector: '[expandTextArea]'
})
export class ExpandTextAreaDirective { 

    constructor() {}

    x: number = 0;

    @HostBinding('value') text: string = '';

    @HostBinding('rows') numRows: number = 2;

    @HostListener('focus') onFocus(eventData: Event) {
        this.numRows = 5;
    }

    @HostListener('blur') onBlur(eventData: Event) {
        this.numRows = 2;
        console.log(this.text);

    }
}

为什么控制台日志命令始终不将任何内容显示为文本区域的值,除非将文本初始化为其他内容,但即使这样它仍然不会更改。

1 个答案:

答案 0 :(得分:0)

因为文本区域文本最初是空的。尝试在textarea标记中添加text = {{UserInfo.firstname}},并检查console.log是否显示文本UserInfo.firstname。