angular - 如何使用 ngModel 在 div 的 innerhtml 属性上实现 2 路数据绑定
问题描述
我是 Angular 的新手,我有一个 textarea,在该 textarea 中键入的任何 HTML 都将在 div 中预览,并且该 div 是可编辑的。因此,如果我修改 div 中的任何内容,应该在 textarea 内的 HTML 中反映相同的内容。假设<h1> hello world </h1>
在 textarea 中有一个,它将像hello world
在 div 中一样被预览,我删除了world
然后 textarea 中的 HTML 应该变成<h1>hello</h1>
. 我尝试了这个解决方案并尝试将 ngModel 添加到 div 中,但两者都不起作用。这是 stackblitz 链接。谢谢你。
export class AppComponent {
content =
`<h2>Hello</h2>
<p>This is a great example...</p>
`;
}
<textarea
[(ngModel)]="content"
cols="50"
rows="10">
</textarea>
<br><br><br>
<div [innerHtml]="content" contenteditable="true">
</div>
解决方案
像这样试试
组件.html
<textarea
[(ngModel)]="content"
cols="50"
rows="10"></textarea>
<br><br><br>
<div [innerHtml]="content" contenteditable="true" (input)="updateModel($event)" #model>
</div>
组件.ts
content = `<h2>Hello</h2>
<p>This is a great example...</p>
`;
updateModel(event) {
console.log(event.target.innerHTML)
setTimeout(()=> {
this.content = event.target.innerHTML;
}, 1000)
}
推荐阅读
- python - 使用列表中的项目创建数据框
- oracle-apex - Apex 将实时重定向的克隆副本复制到实时应用程序服务器
- java - ^M 个字符显示在使用 opencsv.CSVWriter 生成的 CSV 文件中
- visual-studio-2019 - 访问冲突异常的 testhost.exe 粉碎
- json - 没有密钥的打字稿 JSON 数据
- mongodb - MongoDB - 形成一个有条件的查询
- java - 通过构造函数传递数组适配器 | 列表显示
- android - Android Material Toolbar 出现在片段后面
- linux - 对带有日期的变量进行操作会产生错误
- windows - 由于发布版本的调试中的 CompilerIdCXX.vcxproj 找不到 CMAKE_C_COMPILER