摘要:而不写,则监听是加在整个组件之上的。组件的输入就是属性赋值,输出则是事件的触发。运行结果消息机制这里来聊聊组件化开发的消息机制,这个并不局限于或者应用,适用于所有的组件式开发技术。
这篇会讲下组件内部的事件处理机制,以及组件和外界通讯的处理方式(父子通讯,兄弟通讯等)
组件内的事件处理机制第一种,直接写在标签里,用on-eventName=“eventHandler”的方式
第二种使用EventListener的方式
大家注意,这里使用了myBtn.click这种 id+.+eventName的方式,可以对内部某个id的dom进行监听。而不写id,则监听是加在整个组件之上的。大家可以跑下上面的代码看看区别。
组件对外触发一个事件组件分装好了最终还是要被其它组件调用,与外界通讯的,如果把属性赋值作为 输入in, 那么事件就可以称为输出out了。就拿原生的input标签进行举例。 input组件的输入就是type属性赋值,输出则是onclick事件的触发。
同理,对于自定义组件也一样,对于输入来说前面几篇已经介绍了properties如何在组件外被赋值。那么事件的触发我们由如何来处理呢?
Polymer给我们提供了一个fire的api让我们来触发自定义事件,来看下面的代码
对自定义事件添加监听后就可以捕获到这个“kick”的自定义事件了。我尝试了直接在组件上使用on-kick进行监听却不行,非得使用addEventListener方式,可能是polymer不支持这种写法,期望在后续版本中加以改进。
运行结果
这里来聊聊组件化开发的消息机制,这个并不局限于polymer或者web应用,适用于所有的组件式开发技术。其实归纳下来就是几条准则:
父子通讯:
父->子 设置子的公共属性 子->父 子触发事件,父监听事件,父捕获到子发出的事件后再做后续处理。
兄弟通讯:
兄->父 跟父子通讯一样,先通过事件把需求提交给父 父->弟 父拿到兄的需求后,统一调度,通过设属性的方式来访问弟
爷孙通讯:
参照父子通讯,一层层向上传递事件,再一层层向下设置属性,实际开发时尽量将组建的接口都设计合理避免跨n级通讯的尴尬场面
远亲通讯:
请使用前端消息总线(如单例的消息总线类)来解决这里剪不断理还乱的case,但是这类方式不宜大面积使用,父子,和兄弟间通讯还是请使用上面的几种方式。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/86058.html
摘要:我们修改下例子定义借口,构造时将重新赋值测试一下这种构造函数传参的方式只适用于,的创建方式,而且它种方式不支持,原因你自己拍脑袋想想就懂了。 之前一篇算是带大家大致领略了一下Polymer的风采。这篇我们稍微深入一丢丢,讲下组件的注册和创建。 创建自定义组件的几种方式 这里我们使用Polymer函数注册了一个自定义组件my-element // register an element ...
摘要:数据绑定是一个非常屌的的办法能让你快速的传播组件的变化,减少代码的行数。你可以用双大括弧来声明你需要绑定的属性,大括弧在运行时会被替换成括弧内的属性值。本篇完,下篇还没想好要写啥。 书接上回,上回叔说到如何注册(创建)一个自定义组件,这回我们来讲讲它的数据绑定。 使用数据绑定 当然,你可能不会仅仅满足上文教的简单的静态自定义组件,你通常需要动态的更新你的dom组件。 数据绑定是一个非常...
摘要:组件也一样,从被创建,被解析,被赋初始化值,被添加到舞台,被绘制,被布局,使用过程中被修改了值,被重绘,被重新布局,最终被父组件移除结束惨淡的一身等等,都可以称为组件的生命周期。 这篇来谈谈polymer最核心的一块,也可以说是web components技术最最核心的一块内容 生命周期,大家在学习一些框架的时候最好都去了解一下它们的生命周期。 什么是生命周期 什么是生命周期?故名思议...
摘要:所以又以一个库的身份出现在世人面前,它现阶段要做的就是使用的规范来进行开发,并且提供了一套底层实现来填补了各大浏览器暂不支持的,我们称为填充物也就是要干的事情。 书接上回上一篇我们介绍了神马是Polymer,这一篇我们来做些正式编码前的准备工作,顺便也扯一扯Polymer的真面目 如何安装Polymer 有两种方式:第一种是bower安装,不要问我bower是什么,不会bower的话,...
摘要:书接上回,我们已经把运行的准备工作做好,接下来就敲点代码来感受下它到底是个什么东东,这一篇里我基本会照搬官网的几个例子来快速过一下。非常重要的一点是,这个组件的标签名必须要以符号分割。 书接上回,我们已经把运行Polymer的准备工作做好,接下来就敲点代码来感受下它到底是个什么东东,这一篇里我基本会照搬官网Quick tour的几个例子来快速过一下。 注册一个自定义组件 需要调用Pol...
阅读 3456·2019-08-30 12:58
阅读 872·2019-08-29 16:37
阅读 2748·2019-08-29 16:29
阅读 3081·2019-08-26 12:18
阅读 2331·2019-08-26 11:59
阅读 3352·2019-08-23 18:27
阅读 2707·2019-08-23 16:43
阅读 3243·2019-08-23 15:23