如何更新每个响应的 Ck 编辑内容

How to Update the Ck edior content on each response

本文关键字:响应 Ck 编辑 何更新 更新      更新时间:2023-09-26
CK editor initialization 
    function initEditor(){  
            CKEDITOR.replace( 'editor1', {
                on: {
                    //focus: onFocus,
                    //blur: onBlur,
                    // Check for availability of corresponding plugins.
                    pluginsLoaded: function( evt ) {
                        var doc = CKEDITOR.document, ed = evt.editor;
                        if ( !ed.getCommand( 'bold' ) )
                            doc.getById( 'exec-bold' ).hide();
                        if ( !ed.getCommand( 'link' ) )
                            doc.getById( 'exec-link' ).hide();
                    }
                }
            });
        }

function getIndividualReportData( reportId ){
        ReportService.getIndividualReportList( reportId ,
                function( data ) // success
                {
                    console.log(data);
                    $scope.report = data ;
                    initEditor();

                },
                function( msg ) // error
                {
                });
    }

HTML-ck 编辑器

<textarea cols="100"  name="editor1" rows="50" data-ng-model="report.reportData">
            {{ report.reportData }}
        </textarea>

但是数据在 ck 编辑器中没有更新。获得响应后启动CK编辑器,然后显示数据。但是如果我调用函数initEditor,那么它会显示警告编辑器实例"editor1"已附加到提供的元素。

我正在使用角度 js + Ck 编辑器

得到了答案

我必须清除实例

delete CKEDITOR.instances[ 'editor1' ];

remove 函数需要传递一个有点奇怪的对象。以防万一有一些清理,我使用了以下代码:

 if (CKEDITOR.instances['editarea']) {
            CKEDITOR.remove(CKEDITOR.instances['editarea']);
         }