CKEditor 5的Angular指令不起作用

时间:2018-09-06 20:58:41

标签: angularjs angularjs-directive ckeditor ckeditor5

我正在尝试为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();
                });
            });
        }
    }
})

“更改”事件没有任何作用。有人可以在这里解释什么不正确吗?

1 个答案:

答案 0 :(得分:2)

您没有正确绑定到CKEditor的基础数据更改事件。

具体地说,

editor.model.document('change:data', () => { /* ... */ });

Here's a working demonstration.