前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单粗暴,以小见大 -- 实现一个按钮的前端组件

简单粗暴,以小见大 -- 实现一个按钮的前端组件

作者头像
web前端教室
发布2018-02-07 10:13:18
1.2K0
发布2018-02-07 10:13:18
举报
文章被收录于专栏:web前端教室web前端教室

按钮,一个button,一个div,一个a标签,都可以做成按钮。现在要把它做成一个前端组件,那前端组件是什么?

定义很多,我随便网上查一个,“指一些设计为通用性的,用来构建较大型的web应用的”。

组件化的一些特点:

按需加载只加载必要的前端资源

对应关系非常清晰组件所需要的前端资源都在同一目录,

职责明确且唯一,对应关系显著

这类定义网上有很多,说的不尽相同,但基本上都对。因为组件化的思想,就是分而治之。只要表达的是这个意思,那么就基本不会错。

////////

在现在的前端大环境下,为了适应复杂的页面业务需求,很多框架都选择了生命周期方式,来组织自己的事件和方法。就这样的,

一个组件的完整生命周期包括但不限于:

1、init,初始化组件根节点和配置

2、fetch [fɛtʃ],加载 css 和 js 资源

3、render,内容渲染,

4、ready, 进行数据绑定等操作

5、update,数据更新

6、destroy [dɪˈstrɔɪ],解除所有事件监听,删除所有组件节点

前端的完整的生命周期,我们自己手动现实现很困难,也没必要。但为了学习前端组件的开发,我们可以把组件的生命周期“简单粗暴”化的理解,就是“在不同阶段执行的js方法”。

怎么样,这个理解够简单粗暴吧。但它的好处在于,我们可以手动实现了。先分析一下吧,把这些生命同期的英文词,分散放置在“属性、事件、方法、数据、tpl、公共方法...”之中,就这样,

然后用我最喜欢的工厂模式:“构造器 + prototype”,来进行js的填空游戏。就这样的,

把那些方法分别挂在prototype上,这样,就实现了一个简单粗暴的前端组件。

////////

不管怎么样,从结构上它至少是有一些通用性的,不是么?刚开始的时候,不要追求精致与宏大。先实现一个小目标,写一个东西出来再说。不管它是不是前端组件,你都当它是前端组件来写,这样等积累到一定程度,你写出来的,自然就是前端组件了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档