我使用下面的代码来显示使用angularjs指令的ckeditor。但它没有显示在页面中。
指令:
var
Mode: DWORD;
....
Mode := SetErrorMode(SEM_FAILCRITICALERRORS);
SetErrorMode(Mode or SEM_FAILCRITICALERRORS);
和控制器:
'use strict';
define('ngCkeditor', ['app'], function (app) {
app.directive('ngCkeditor', function () {
return {
restrict: 'AC',
require: 'ngModel',
link: function (scope, element, attr, ngModel) {
debugger;
var ck = CKEDITOR.replace(element[0]);
if (!ngModel) return;
ck.on('pasteState', function () {
scope.$apply(function () {
ngModel.$setViewValue(ck.getData());
});
});
ngModel.$render = function (value) {
ck.setData(ngModel.$viewValue);
};
}
};
});
});
这是Html:
define('ckEditorController', ['app', 'ckeditor', 'ckfinder', 'ngCkeditor'], function (app, ckeditor, ckfinder, ngCkeditor) {
app.lazy.controller('ckEditorController', ['$scope', '$location', function ($scope, $location) {
debugger;
$scope.text = 'this is test';
}]);
});
在我看来,指令中的链接部分不会触发。
感谢
更新:
查看jsfiddle链接。它就像一个魅力。但我的不是
答案 0 :(得分:0)
您应该使用正确的指令名称:
<textarea ng-ckeditor ng-model="text"></textarea>
请注意,'ngCkeditor'指令名称对应于'ng-ckeditor'规范化形式,因为camelCase转换为蛇案例。
在我提供详细说明的地方查看此答案。 https://stackoverflow.com/a/33460305/949476