-
Notifications
You must be signed in to change notification settings - Fork 0
Army edited this page Feb 16, 2017
·
7 revisions
- render(element:Element, dom:DOM/String):Element 渲染element到指定dom中作为innerHTML,会调用element的toString方法
- createCp(name:String, props:Object, children:Array<VirtualDom/*>):Component 创建指定name名称和props属性的组件,孩子列表children
- createVd(name:String, props:Object, children:Array<VirtualDom/*>):VirtualDom 创建指定name名称和props属性的虚拟DOM,孩子列表children
- Event:class Event类
- EventBus:class EventBus类
- eventBus:EventBus 默认的全局事件总线
- Element:class Element类,Component组件和VirtualDom虚拟DOM抽象父类
- Component:class Component类
- NonVisualComponent:class NonVisualComponent类,父类为Component
- CacheComponent:class CacheComponent,父类为Component
- VirtualDom:class VirtualDom虚拟DOM类
- Obj:class get/set数据变动侦听类
- Cb:class VirtualDom点击侦听类
- util:Object 内置工具集
- sort:Function(arr:Array<*>, cb:Function=null):Array 内置的快速排序
- on(id:String/Array<String>, handle:Function):Event 添加侦听
- off(id:String/Array<String>, handle:Function):Event 删除侦听
- once(id:String/Array<String>, handle:Function):Event 添加侦听,且只执行一次
- emit(id:String/Array<String>, ...data:Object):Event 触发事件,参数变长
- mix(...obj:Object):void 将Event的方法混入到指定obj上
- DOM:String='DOM' 标明DOM事件,当vd和cp被添加到dom时触发
- DESTROY:String='DESTROY' 标明DESTROY事件,当vd和cp被回收时触发
- DATA:String='DATA' 标明DATA事件,当cp发生数据变更时触发
- $bridge(target:Component, datas:Object<key:String, value:String/Function/Object>) 单向数据流动至target组件,datas为键值对,key表明联动数据名,value有3种形式
- 当value为String时,标明流动对象的数据名
- 当value为Function时,流动对象的数据名为同名key,其唯一参数为变量值,返回处理后的数据值
- 当value为Object时,name标明流动对象的数据名,middleware为中间件处理数据方法,同上Function
- $bridgeTo(target:Component, datas:Object<key:String, value:String/Function/Object>) 同$bridge,但是调用target的$bridge方法桥接自己
Element及其子类均和DOM相关,由于需要被开发者继承的关系,除了特殊的render和toString方法,其它所有public方法均已$开头
- get name:String 获取名字,组件为constructor名,vd为tagName
- get props:Object<key:String, value:*> 获取属性
- get children:Array<*> 获取孩子节点们
- get parent:Element 获取父亲节点
- get uid:int 获取唯一id
- get element:HtmlElement 获取真实DOM节点
- get dom:Boolean 获取是否被添加到DOM上
- get element:HtmlElement 获取真实DOM引用
- get parent:Element 获取父级对象,可能为空
- get top:Component 获取顶级组件对象,可能为空
- inTo(dom:HtmlElement/String):void 作为innerHTML插入到dom里
- appendTo(dom:HtmlElement/String):void 附加到dom孩子最后
- prependTo(dom:HtmlElement/String):void 附加到dom孩子最前
- before(dom:HtmlElement/String):void 插入到dom之后
- after(dom:HtmlElement/String):void 插入到dom之前
- replace(dom:HtmlElement/String):void 替换掉dom
- Event.DOM(fake:Boolean=undefined) 被添加到真实DOM时触发
- fake为true时发生在如此环境:父组件有render方法,此时父组件处罚DOM事件,本身虽然未被添加到DOM中但初始化完成,以fake表面这是个假的DOM事件
- get style:Object 获取样式
- set style:Object 设置样式
- isFirst():Boolean 是否是第一个孩子
- isLast():Boolean 是否是最后一个孩子
- find(name:String/class):* 寻找首个名字或class为name的对象,不递归组件
- findAll(name:String/class):Array<*> 寻找所有名字或class为name的对象,不递归组件
- get virtualDom:VirtualDom 获取组件的唯一VirtualDom实例
- render():String 需被覆盖,否则将返回一个默认的div节点,渲染children列表
- find(name:String/class):* 寻找首个名字或class为name的对象,不递归组件
- findAll(name:String/class):Array<*> 寻找所有名字或class为name的对象,不递归组件
- findChild(name:String/class):* 在$children列表中寻找首个名字或class为name的对象,不递归组件
- findChildren(name:String/class):Array<*> 在$children列表中寻找所有名字或class为name的对象,不递归组件
- bridge(target:Component/EventBus, datas:Object<key:String, value:String/Function/Object>) 单向数据流动至target,datas为键值对,key表明联动数据名,value有3种形式
- 当value为String时,标明流动对象的数据名
- 当value为Function时,流动对象的数据名为同名key,其唯一参数为变量值,返回处理后的数据值
- 当value为Object时,name标明流动对象的数据名,middleware为中间件处理数据方法,同上Function
- bridgeTo(target:Component/EventBus, datas:Object<key:String, value:String/Function/Object>) 同$bridge,但是调用target的$bridge方法桥接自己
- Event.DATA(key:String, origin:Function) set数据发生变更时触发,两个参数为数据名和触发的对象引用
- Event.CACHE_DATA(key:String, origin:Function) set数据缓存一定时间后发生变更时触发,参数为数据名和触发的对象引用
- clone(obj:*):Object 深度clone对象,但忽略Element类型
- isObject(obj:*):Boolean 是否是Object类型
- isString(obj:*):Boolean 是否是String类型
- isFunction(obj:*):Boolean 是否是String类型
- isNumber(obj:*):Boolean 是否是String类型
- isBoolean(obj:*):Boolean 是否是Boolean类型
- isDate(obj:*):Boolean 是否是Date类型
- equal(a:, b:):boolean 是否全相等,引用类型除了Element类型对比引用外深度对比
- encodeHtml(s:String, prop:Boolean=false):String html转义,prop为true时为属性只转义双引号
- joinArray(arr:Array<*>):String 将多维数组拼接成字符串