ckEditor-尝试ck.setMode(';source';)时出错;然后是ck.setMode(';所见即所得';);

ckEditor-尝试ck.setMode(';source';)时出错;然后是ck.setMode(';所见即所得';);,ckeditor,Ckeditor,我(对我来说)处境非常困难。我已经为ckEditor创建了一个指令。事实上,这和我在网上看到的许多不同的地方是一样的。这在大多数情况下都有效。但是,我必须这样做,才能让它在100%的时间内正常工作: ngModel.$render = function () { if (typeof ngModel.$modelValue != 'undefined') { if (ngModel.$modelValue != null) { ck.setData

我(对我来说)处境非常困难。我已经为ckEditor创建了一个指令。事实上,这和我在网上看到的许多不同的地方是一样的。这在大多数情况下都有效。但是,我必须这样做,才能让它在100%的时间内正常工作:

ngModel.$render = function () {
    if (typeof ngModel.$modelValue != 'undefined') {
        if (ngModel.$modelValue != null) {
            ck.setData(ngModel.$modelValue);
            timer = setTimeout(function () {
                ck.setData(ngModel.$modelValue);
            }, 1000);
            timer = setTimeout(function () {
                ck.setMode('source');
                ck.setMode('wysiwyg');
            }, 1000);
        }   
    }
};
请注意以下几行:

ck.setMode('source');
ck.setMode('wysiwyg');
这是可行的,但给出了一个错误说明:

Uncaught TypeError: Cannot read property 'on' of undefined ckeditor.js:299
CKEDITOR.editable.CKEDITOR.tools.createClass.proto.attachListener ckeditor.js:299
CKEDITOR.editable.CKEDITOR.tools.createClass.proto.setup ckeditor.js:304
k ckeditor.js:589
(anonymous function)

有谁能给我一些建议,告诉我可能会发生什么以及为什么会出现这种错误?

如果你尝试这种方法,效果会更好吗

ck.setMode('source', function() {
    ck.setMode('wysiwyg');
} );
如果是,那么问题是由于这些方法是异步的。它们不能一个接一个地执行,但您必须等待它们完成,所以它们接受回调,然后执行回调


PS.也是异步的。

如果您尝试这种方式,它会更好吗

ck.setMode('source', function() {
    ck.setMode('wysiwyg');
} );
如果是,那么问题是由于这些方法是异步的。它们不能一个接一个地执行,但您必须等待它们完成,所以它们接受回调,然后执行回调

PS也是异步的