生命周期
名称含义时机
constructor构造函数new的时候
install初始化安装,这可以拿到用户传进的data进行处理实例化
installed安装完成,HTML已经插入页面之后执行实例化
uninstall卸载组件。执行remove方法会触发该事件销毁时
beforeUpdate更新前存在期
afterUpdate更新后存在期
示意图 举个例子(data) () () .()(() )() () ()
点击这里→在线试试
事件处理Omi的事件分内置事件和自定义事件。在内置事件处理方面巧妙地利用了浏览器自身的管线机制,可以通过event和this轻松拿到事件实例和触发该事件的元素。
内置事件什么算内置事件?只要下面正则能匹配到就算内置事件。
on(abort|blur|cancel|canplay|canplaythrough|change|click|close|contextmenu|cuechange|dblclick|drag|dragend|dragenter|dragleave|dragover|dragstart|drop|durationchange|emptied|ended|error|focus|input|invalid|keydown|keypress|keyup|load|loadeddata|loadedmetadata|loadstart|mousedown|mouseenter|mouseleave|mousemove|mouseout|mouseover|mouseup|mousewheel|pause|play|playing|progress|ratechange|reset|resize|scroll|seeked|seeking|select|show|stalled|submit|suspend|timeupdate|toggle|volumechange|waiting|autocomplete|autocompleteerror|beforecopy|beforecut|beforepaste|copy|cut|paste|search|selectstart|wheel|webkitfullscreenchange|webkitfullscreenerror|touchstart|touchmove|touchend|touchcancel|pointerdown|pointerup|pointercancel|pointermove|pointerover|pointerout|pointerenter|pointerleave)
内置事件怎么绑定?如下所示:
(data) (dom()
自定义事件开发者自己定义的组件的事件,称为自定义事件,自定义事件必须以on开头,即onXXXX的格式,不然Omi识别不到。这里拿分页作为例子:
Pagination Content ..Main (data) ())(index)() .);
如上面的onPageChange就是自定义事件,触发会执行handlePageChange。onPageChange方法是在Pagination中执行:
Pagination ... ... ... () ..ceil(this.data.total / this.data.pageSize); } ..... ... ... }
这里取了Pagination组件的部分代码。高亮的就是执行onPageChange的地方。
相关地址