如何更新每个响应的Ckeditor内容

时间:2013-09-30 13:00:23

标签: javascript angularjs ckeditor

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编辑器

2 个答案:

答案 0 :(得分:3)

得到了答案

我必须清除实例

delete CKEDITOR.instances[ 'editor1' ];

答案 1 :(得分:0)

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

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