angular-ueditor:
(function() {
"use strict";
(function() {
var NGUeditor;
NGUeditor = angular.module("ng.ueditor", []);
NGUeditor.directive("ueditor", [
function() {
return {
restrict: "C",
require: "ngModel",
scope: {
config: "=",
ready: "="
},
link: function($S, element, attr, ctrl) {
var _NGUeditor, _updateByRender;
_updateByRender = false;
_NGUeditor = (function() {
function _NGUeditor() {
this.bindRender();
this.initEditor();
return;
}
/**
* 初始化编辑器
* @return {[type]} [description]
*/
_NGUeditor.prototype.initEditor = function() {
var _UEConfig, _editorId, _self;
_self = this;
if (typeof UE === 'undefined') {
console.error("Please import the local resources of ueditor!");
return;
}
_UEConfig = $S.config ? $S.config : {};
_editorId = attr.id ? attr.id : "_editor" + (Date.now());
element[0].id = _editorId;
this.editor = new UE.ui.Editor(_UEConfig);
this.editor.render(_editorId);
return this.editor.ready(function() {
_self.editorReady = true;
_self.editor.addListener("contentChange", function() {
ctrl.$setViewValue(_self.editor.getContent());
if (!_updateByRender) {
if (!$S.$$phase) {
$S.$apply();
}
}
_updateByRender = false;
});
if (_self.modelContent && _self.modelContent.length > 0) {
_self.setEditorContent();
}
if (typeof $S.ready === "function") {
$S.ready(_self.editor);
}
$S.$on("$destroy", function() {
if (!attr.id && UE.delEditor) {
UE.delEditor(_editorId);
}
});
});
};
_NGUeditor.prototype.setEditorContent = function(content) {
if (content == null) {
content = this.modelContent;
}
if (this.editor && this.editorReady) {
this.editor.setContent(content);
}
};
_NGUeditor.prototype.bindRender = function() {
var _self;
_self = this;
ctrl.$render = function() {
_self.modelContent = (ctrl.$isEmpty(ctrl.$viewValue) ? "" : ctrl.$viewValue);
_updateByRender = true;
_self.setEditorContent();
};
};
return _NGUeditor;
})();
new _NGUeditor();
}
};
}
]);
})();
}).call(this);
Ueditor是百度提供的在线编辑器,功能非常丰富,angular-ueditor 是一款整合了 angular 和 UEditor 的插件。目的是为了更方便的在angular基础上使用UEditor。
安装非常方便:
(1)首先到官网下载百度ueditor1_4_3-utf8-jsp.zip
(2)解压ueditor1_4_3-utf8-jsp.zip到自己的工程web目录,将jsp/lib目录下的jar包剪切到WEB-INF/lib目录下,这些jar是用来进行文件上传操作的,如果缺少的话是无法进行文件上传动作的。
(3)下载angular-ueditor-master.zip,解压缩后,将其中的angular-ueditor.js拷贝到自己的工程web目录中
(4)在单页面应用中需要增加的js文件
<script type="text/javascript" src="ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="ueditor/ueditor.all.js"></script>
<script type="text/javascript" src="angular-ueditor.js"></script>
(5)在app.js中将angular-ueditor引入到模块;在html应用中并绑定ng-model
angular.module('app', ['ng.ueditor'])
......
<div class="ueditor" ng-model="content"></div>
(6)上传图片默认路径的修改(参考www . suchso . com/UIweb/baidu-UEditor-image-upload-config-url.html)
所有的上传配置选项都在一个文件中配置,这个文件就是ueditor/jsp/config.json,例如imagePathFormat表示了文件上传到什么目录下。
"imagePathFormat": "./ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}"