当使用Angular中的FormControl绑定
import { Component, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
@Component({
selector: 'app-textarea',
template: `
`,
})
export class TextAreaComponent implements OnInit {
textAreaControl = new FormControl('');
ngOnInit() {
this.textAreaControl.valueChanges.subscribe((value) => {
const parser = new DOMParser();
const decoded = parser.parseFromString(value, 'text/html').body.textContent;
this.textAreaControl.setValue(decoded, {
emitEvent: false,
emitModelToViewChange: false,
emitViewToModelChange: false,
});
});
}
}
import { Component, Input } from '@angular/core';
import { FormControl } from '@angular/forms';
@Component({
selector: 'app-textarea',
template: `
{{ value }}
`,
})
export class TextAreaComponent {
textAreaControl = new FormControl('');
@Input() set value(val: string) {
const parser = new DOMParser();
const decoded = parser.parseFromString(val, 'text/html').body.textContent;
this.textAreaControl.setValue(decoded, {
emitEvent: false,
emitModelToViewChange: false,
emitViewToModelChange: false,
});
}
get value() {
return this.textAreaControl.value;
}
}