我目前正在使用 Angular 构建一个简单的编辑器。主文本框只是一个 div,其中 contenteditable 设置为 true 和 ng-bind-html 属性,如下所示:
<div contenteditable="true" ng-bind-html="field.content">HTML content here</div>
该值已使用正确的标签正确设置和呈现,并查看页面加载。但由于它只是一种绑定方式,我的数据或模型在编辑时不会更新。
我尝试了一些 contenteditable 指令,但其中大多数都需要 ng-model,但如果我添加我的 html 标记不会呈现并转换为符号。
在更改 div 的内容并保持 HTML 标签等格式正确后,我将如何更新我的数据?
编辑:暂时只是使用这个临时的“修复”,但我想要更强大的东西。
<div contenteditable="true" ng-bind-html="field.content"
ng-blur="saveHTML($event)"></div>
$scope.saveHTML = function(event) {
this.field.content = event.target.innerHTML;
}