当我查看Source时,如何让CKEditor更新我的支持数据对象?

时间:2013-09-22 12:05:20

标签: angularjs ckeditor

当我的用户对编辑窗口进行更改时,似乎后备数据对象不断更新。但是,当用户点击[SOURCE]并进行更改时,似乎没有更新。

我在代码中添加了以下内容:

        ck.on('mode', function () {
            $scope.$apply(function () {
                ngModel.$setViewValue(ck.getData());
            });
        });

这可以感知用户何时从[SOURCE]返回到普通视图,当发生这种情况时,它会更新我的数据。

然而,当用户进入[SOURCE]视图并单击我的屏幕上的保存时,它不会获取最新的更改。有没有办法可以在[SOURCE]视图中监听更改,然后在进行这些更改时更新我的​​后备数据存储区?

2 个答案:

答案 0 :(得分:2)

你能看一下@ https://github.com/esvit/ng-ckeditor

吗?

准备使用Ckeditor指令

答案 1 :(得分:1)

你总是可以添加一个“模糊”指令,并在模糊...

上从[SOURCE]中检索数据
app.directive('blur', function () {
    return function (scope, elem, attrs) {
        elem.on('change', function () {
            scope.$apply(attrs.blur);
        });
    };
});

$scope.getCkData = function () {$scope.ckData = ck.getData();};


<textarea id="editor1" name="editor1" blur="getCkData()">Default</textarea>

现在,从查看CK编辑器,当您单击“源”按钮时,编辑器窗口上会叠加一个新的文本区域。因此,您可能需要使用jquery选择器添加模糊。

$('#editor1 > textarea').attr('blur', 'getCkData()');

因此,无论何时有人离开源视图或所见即所得视图,模型都会更新。