繁体   English   中英

html标签未在angularjs ckeditor中应用,而是在ediator中显示html元素标签代码

[英]html tags are not applying in angularjs ckeditor instead of it is showing html element tag code in ediator

//My controller code

//我正在从数据库获取值到angular js ckeditor中,但是html标签未在编辑器中应用,而是在ediator中显示了html元素标签代码

myApp.directive('ckEditor', [function () {
   return {
    require: '?ngModel',
    link: function ($scope, elm, attr, ngModel) {

     var ck = CKEDITOR.replace(elm[0]);

     ck.on('pasteState', function () {
      $scope.$apply(function () {
       ngModel.$setViewValue(ck.getData());
      });
     });
     ngModel.$render = function () {
      ck.setData(ngModel.$modelValue);
     };
    }
   };
  }])

        myApp.controller('editcontentcontroller', function ($scope, $http)
   {
      $scope.ckEditors;
    $http({ method: 'POST', url: 'pageedit.php' }).success(function (data)
    {
        // response data 
       $scope.id = data[0]['id'];
      $scope.page = data[0]['page'];
      $scope.ckEditors = data[0]['pagecontent'];
     }).
     error(function (data) {
      console.log(data);
     });
  });

将以下内容添加到您的指令中,并检查CKEDITOR文档

 ck.on('instanceReady', function () {
      ck.setData(ngModel.$viewValue);
  });

CKEDITOR.instanceReady在创建,完全初始化并准备好进行交互的CKEDITOR实例时触发。

    myApp.directive('ckEditor', function () {
        return {
            require: 'ngModel',
            priority: 10,
            link: function (scope, elm, attr, ngModel) {
                var ck = CKEDITOR.replace(elm[0]);

                if (!ngModel) return;

                ck.on('instanceReady', function () {
                    ck.setData(ngModel.$viewValue);
                });

                function updateModel() {
                    scope.$apply(function () {
                        if (ck.getData().length) {
                            ngModel.$setViewValue(ck.getData());
                        }
                    });
                }

                ck.on('change', updateModel);
                ck.on('key', updateModel);
                ck.on('dataReady', updateModel);
                ck.on('pasteState', updateModel);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM