使用多个ckeditor时$ digest已经在进行中

时间:2018-08-01 11:52:59

标签: html angularjs ckeditor

我在项目中使用多个ckeditor,它们具有不同的ID和名称。这对于我有静态编辑器的页面工作正常,但对于有动态编辑器的页面却有问题。它们没有绑定到我项目的ng-model

这是我创建的指令

angular.module('MyProjectName').directive('ckEditor', function () {
    return {
        require: '?ngModel',
        link: function (scope, elm, attr, ngModel) {
            var ck = CKEDITOR.replace(elm[0]);
            if (!ngModel) return;
            ck.on('instanceReady', function () {
                ck.setData(ngModel.$viewValue);
            });
            function updateModel() {
                scope.$apply(function () {
                    ngModel.$setViewValue(ck.getData());
                });
            }
            ck.on('change', updateModel);
            ck.on('key', updateModel);
            ck.on('dataReady', updateModel);

            ngModel.$render = function (value) {
                ck.setData(ngModel.$viewValue);
            };
        }
    };
});

这是html

<textarea data-ck-editor id="Demo" name="Demo" ng-model="DemoValue"></textarea>

0 个答案:

没有答案