资讯专栏INFORMATION COLUMN

开坑,写点Polymer 1.0 教程第4篇——组件的生命周期

Dionysus_go / 2046人阅读

摘要:组件也一样,从被创建,被解析,被赋初始化值,被添加到舞台,被绘制,被布局,使用过程中被修改了值,被重绘,被重新布局,最终被父组件移除结束惨淡的一身等等,都可以称为组件的生命周期。

这篇来谈谈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, 都不会触发它)
6.detached callback :当被父组件removeChild时候触发(即被移出舞台)

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



    
    

parent-element.html




    
    

index.html




    
    


    


控制台输出结果

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86034.html

相关文章

  • 开坑写点Polymer 1.0 教程3——组件注册与创建

    摘要:我们修改下例子定义借口,构造时将重新赋值测试一下这种构造函数传参的方式只适用于,的创建方式,而且它种方式不支持,原因你自己拍脑袋想想就懂了。 之前一篇算是带大家大致领略了一下Polymer的风采。这篇我们稍微深入一丢丢,讲下组件的注册和创建。 创建自定义组件的几种方式 这里我们使用Polymer函数注册了一个自定义组件my-element // register an element ...

    joywek 评论0 收藏0
  • 开坑写点Polymer 1.0 教程2(上)——hello world

    摘要:书接上回,我们已经把运行的准备工作做好,接下来就敲点代码来感受下它到底是个什么东东,这一篇里我基本会照搬官网的几个例子来快速过一下。非常重要的一点是,这个组件的标签名必须要以符号分割。 书接上回,我们已经把运行Polymer的准备工作做好,接下来就敲点代码来感受下它到底是个什么东东,这一篇里我基本会照搬官网Quick tour的几个例子来快速过一下。 注册一个自定义组件 需要调用Pol...

    HitenDev 评论0 收藏0
  • 开坑写点Polymer 1.0 教程2(下)——hello world

    摘要:数据绑定是一个非常屌的的办法能让你快速的传播组件的变化,减少代码的行数。你可以用双大括弧来声明你需要绑定的属性,大括弧在运行时会被替换成括弧内的属性值。本篇完,下篇还没想好要写啥。 书接上回,上回叔说到如何注册(创建)一个自定义组件,这回我们来讲讲它的数据绑定。 使用数据绑定 当然,你可能不会仅仅满足上文教的简单的静态自定义组件,你通常需要动态的更新你的dom组件。 数据绑定是一个非常...

    xiangzhihong 评论0 收藏0
  • 开坑写点Polymer 1.0 教程5——事件与消息机制

    摘要:而不写,则监听是加在整个组件之上的。组件的输入就是属性赋值,输出则是事件的触发。运行结果消息机制这里来聊聊组件化开发的消息机制,这个并不局限于或者应用,适用于所有的组件式开发技术。 这篇会讲下组件内部的事件处理机制,以及组件和外界通讯的处理方式(父子通讯,兄弟通讯等) 组件内的事件处理机制 第一种,直接写在标签里,用on-eventName=eventHandler的方式 ...

    SHERlocked93 评论0 收藏0
  • 开坑写点Polymer 1.0 教程1——安装

    摘要:所以又以一个库的身份出现在世人面前,它现阶段要做的就是使用的规范来进行开发,并且提供了一套底层实现来填补了各大浏览器暂不支持的,我们称为填充物也就是要干的事情。 书接上回上一篇我们介绍了神马是Polymer,这一篇我们来做些正式编码前的准备工作,顺便也扯一扯Polymer的真面目 如何安装Polymer 有两种方式:第一种是bower安装,不要问我bower是什么,不会bower的话,...

    Jeff 评论0 收藏0

发表评论

0条评论

Dionysus_go

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<