在我的Angular组件TS文件中,我有一个模型,其中一个属性为HTML格式的文本。该文本使用我组件的.html文件中DIV的内部HTML属性显示在UI中。DIV是通过设置可编辑的属性来编辑的。
代码段:
<div id="requestBody" contenteditable="true"
*ngIf="selectedReqTab==='reqBody'" [innerHTML]="formatJson(requestBody)"></div>
在这里格式返回HTML格式的JSON文本。
问题:
文本中所做的更改并未反映在相应的模型中,即使我们使用ngmodel具有2种方法数据绑定。
<div id="requestBody" contenteditable="true"
*ngIf="selectedReqTab==='reqBody'" [(ngModel)]=”requestBody”
[innerHTML]="formatJson(requestBody)"></div>
我在这里做错了什么?你能建议。
contenteditable
不是输入,而双向绑定在输入上起作用。
您必须通过input
事件更新模型,如下所示
<p (input)="updateModel(model.innerText)" #model contenteditable>{{ name }}</p>