我正在尝试为CkEditor5创建指令,但它不会更改模型值。
这是我的指令代码:
.directive('ckEditor', function () {
return {
require: '?ngModel',
link: function (scope, element, attr, ngModel) {
if (!ngModel) return;
ClassicEditor.create(element[0]).then((editor) => {
editor.on('change', () => {
scope.$apply(() => {
ngModel.$setViewValue(editor.getData());
});
});
ngModel.$render = () => {
editor.setData(ngModel.$modelValue);
};
scope.$on('$destroy', () => {
editor.destroy();
});
});
}
}
})
“更改”事件没有任何作用。有人可以在这里解释什么不正确吗?
答案 0 :(得分:2)
您没有正确绑定到CKEditor的基础数据更改事件。
具体地说,
editor.model.document('change:data', () => { /* ... */ });