博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开坑,写点Polymer 1.0 教程第4篇——组件的生命周期
阅读量:6294 次
发布时间:2019-06-22

本文共 1218 字,大约阅读时间需要 4 分钟。

这篇来谈谈polymer最核心的一块,也可以说是web components技术最最核心的一块内容 “生命周期”,大家在学习一些框架的时候最好都去了解一下它们的生命周期。

什么是生命周期

什么是生命周期?故名思议,拿人的例子来说,比如出生,上学,工作,结婚,生子,死亡等等,一生中几个重要阶段。组件也一样,从被创建,被解析,被赋初始化值,被添加到舞台,被绘制,被布局,使用过程中被修改了值,被重绘,被重新布局,最终被父组件移除结束惨淡的一身等等,都可以称为组件的生命周期。

来看看Polymer提供了那些我们可以catch到的大事件(按触发的顺序)。。

1.created callback:当组件被 new 时调用,最早被触发,此时还不能访问组件的属性
2.ready callback :当组件内部依赖的子组件或者原生dom组件加载成功,会调用ready
3.factoryImpl callback :只有使用new ElementClass()方式创建组件时会被调用,发生在ready后
4.attached callback :组件被添加到父组件中(显示在舞台)时触发,只会触发一次

5.attributeChanged callback :组件被父组件设置属性时触发,只有使用setAttribute()方式设置属性才会触发,切记!(elementInstance.attr = xxx, <my-element att="xxx"></my-element>都不会触发它)

6.detached callback :当被父组件removeChild时候触发(即被移出舞台)

你跑一下下面的例子后,自己修修改改试一下就能大致体会,(光看文字的效果不如你自己跑一下代码)

my-element.html

parent-element.html

index.html

        

控制台输出结果

图片描述

这里我只是根据官网的文档描述,大概介绍了几个主要的生命周期,可能会有遗漏(诸如layout和render在什么阶段官网文档中并没有体现,或者说官方并没有提供这2二个阶段供的事件接口,供用户来hack一些组件的生成,当然这仅仅是我暂时的一些推测,待继续深入学习后会回过来一一补充。)。生命周期篇就讲到这里,下一篇我们来聊聊Polymer的事件,也就是大家比较关心的另外一个问题,组件之间的通讯(消息机制)

转载地址:http://davta.baihongyu.com/

你可能感兴趣的文章
Visual Studio 15.4发布,新增多平台支持
查看>>
有赞透明多级缓存解决方案(TMC)设计思路
查看>>
如何设计高扩展的在线网页制作平台
查看>>
Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面
查看>>
Swift 5将强制执行内存独占访问
查看>>
中台之上(二):为什么业务架构存在20多年,技术人员还觉得它有点虚?
查看>>
深度揭秘腾讯云低功耗广域物联网LPWAN 技术及应用
查看>>
与Jeff Sutherland谈敏捷领导力
查看>>
More than React(四)HTML也可以静态编译?
查看>>
React Native最佳学习模版- F8 App开源了
查看>>
云服务正在吞噬世界!
查看>>
阅读Android源码的一些姿势
查看>>
Web语义化标准解读
查看>>
一份代码构建移动、桌面、Web全平台应用
查看>>
高性能 Lua 技巧(译)
查看>>
区分指针、变量名、指针所指向的内存
查看>>
异步编程的世界
查看>>
最近话题火爆的四件事你知道不?
查看>>
SpringBoot整合MyBatis
查看>>
云计算产业如何率先推行信用管理?
查看>>