0
我有一个可以理解的div,它很好用,直到我将改变后的文本分配回初始变量。当编辑时,我按下回车键,一个新的行会正确显示在可编辑div中,但不会被存储到'name'中。下一个输入的字符结束于上一行的末尾,并且光标移至第一行的开头。如果我删除(输入)行,该div行为正常,但'名称'不更新。如何让div正确运行并更新'名称'?新行在Angular 2中无法正常工作可编辑div
import {Component, NgModule} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
@Component({
selector: 'my-app',
template: `
<div style="white-space: pre-wrap;"
[textContent]=name
(input)="name=$event.target.textContent"
contenteditable>
</div>
<div style="white-space: pre-wrap;">{{name}}</div>
`,
})
export class App {
name:string;
constructor() {
this.name = `TEST`
}
}
@NgModule({
imports: [ BrowserModule ],
declarations: [ App ],
bootstrap: [ App ]
})
export class AppModule {}
预期结果:
Test
Test
实际结果:
estTestT
问题在于,一旦按下'enter','name'就会更新控件。我会为'div'编写我自己的值存取器,并使用反应形式模块中的formControl。 –