CKEditor
2020-07-14 09:46:37 0 举报
AI智能生成
CkEditor文档
作者其他创作
大纲/内容
function
create() 初始化过程执行,允许异步
destroy() 销毁
execute 执行给定的命令
getData() 和 setData() editor的输入和输出
强烈建议,控制台打印editor实例,对照属性看文档
config 配置对象
plugins 插件集合
继承 Plugin 类
static requires 插件依赖
init() 初始化
afterInit() 初始化后执行
commands 命令集合
非官方定义:执行一些操作的方法实现
继承 Commend 类
Editor# execute() 方法执行
添加命令 editor.commands.add( 'myCommand',new MyCommand( editor ) )
监听 command.on( 'change:value', ( evt,
Command#execute()使用ObservableMixin#decorate()函数使用事件装饰该方法
Observable & Event
可观察对象还具有编辑器广泛使用的一项功能(尤其是在UI库中
model 编辑器数据模型的入口
定义:该模型由元素和文本节点的类DOM树结构实现,不同是具有属性
作用:在数据上创建抽象。其格式旨在允许以最方便的方式存储和修改数据,同时实现复杂的功能。大多数功能都可以在模型上运行
editor.model ---> document、doc.getRoot()、selection、schema
model.change() 监听变化 enqueueChange() 用writermodel 的writer参数改变dom结构; 批量操作,由里向外合并
文本属性 、 选择属性
Position(点)、Range(线)、Selection(面,具有方向性)
Markers are a special type of ranges.
Schema 定义节点语义,规则、类型
data 数据控制,控制如何从文档中检索数据和设置数据
editing 编辑控制, 控制如何将模型呈现给用户编辑
view
类似于Dom,一个虚拟Dom
两个管道(相互独立): 编辑管道,用来处理用户能看到和编辑的Dom;数据管道,用于粘贴到编辑器的数据处理,getData, setData方法
元素类型:容器元素、属性元素、空元素、UI元素、可编辑元素
change 方法 data.view.change( writer
两种writer: DowncastWriter, change() 方法中能访问到 和 UpcastWriter 用于数据到model转化之前,例如(粘贴)
Positions
Oberver 继承Oberver子类, 添加自定义观察者方法view.addOberver()
UI库
视图用 template 来构建UI,tag、attr、on、children
操作使用: new ParentView(locale) , prarent.render(), appendChild( parent.element )
toolbar 中添加按钮 toolbar.items.add( buttonFoo ); toobar.render()
事件委托: delegate --> buttonFoo.delegate( 'execute' ).to( toolbar ); toolbar.on( 'execute', evt =>
Dropdowns 下拉列表的实现, Model框的使用
焦点和击键管理 FocusTracker 、 KeystrokeHandler
keystrokes 击键处理程序,绑定到操作
0 条评论
下一页