使用CKEditor和angular的局部视图

时间:2013-08-29 19:26:34

标签: symfony angularjs ckeditor angularjs-directive

我目前正在使用CKEditor作为我网站上文字的WYSIWYG编辑器。我只是遇到了使用此编辑器和angular的部分视图的问题。使用ng-hide和ng-show隐藏视图。

当我在当前的局部视图之外时,编辑器工作正常。这意味着弹出工具栏,工具栏上的按钮可以工作,文本也可以编辑。

然而,当我在部分视图中时,弹出窗口仍然出现,但文本不可编辑,并且按钮被禁用。

这是我现在编写的编辑器代码

plunker.directive('ckEditor', function($http, $timeout) {
  return {
    require: '?ngModel',
    link: function(scope, elm, attr, ngModel) {
      var ck = CKEDITOR.inline(elm[0]);

      if (!ngModel) return;

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

        });
      });

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

所以我的问题是,是否有人让CKEditor使用部分视图?如果是这样你是怎么做到的?

1 个答案:

答案 0 :(得分:0)

你没有提供任何例子,所以很难说。可能没有什么理由,

  1. 检查CKEditor是否支持元素类型 - 如果不是,则必须通过复制div
  2. 中的某些设置来破解CKEditor配置
  3. 确保您的元素有contenteditable='true'
  4. 确保您手动检测CKEditor以为您的部分提供编辑器。
  5. 您可能还想阅读此内容: Enable CKEditor4 inline on span and other inline tags http://docs.ckeditor.com/#!/api/CKEDITOR.dtd-property-S-editable