前端组件化演进之路

栏目: jQuery · 发布时间: 5年前

内容简介:在一个页面中我们可以把页面的一部分拆成一个组件,可以是一个按钮或者是一个导航栏。在一开始编写代码的时候还没有组件这一说,慢慢地我们从开始编写面向过程的代码到面向对象的代码再到组件化的代码,一步步进化到组件。以一个Todo List为例:代码示例:
前端组件化演进之路

在一个页面中我们可以把页面的一部分拆成一个组件,可以是一个按钮或者是一个导航栏。在一开始编写代码的时候还没有组件这一说,慢慢地我们从开始编写面向过程的代码到面向对象的代码再到组件化的代码,一步步进化到组件。

面向过程

以一个Todo List为例:

前端组件化演进之路

代码示例:

前端组件化演进之路

这是一开始实现的jquery代码,将button和li的click事件的回调函数抽出来单独成为一个函数。当页面的代码量增长为上千行时,代码的维护性会很差,需要先理解上千行代码才敢继续增加代码。这时候可以用面向对象的编程方式来解决这个问题。

面向对象

将input和button拆成todoList对象,ul为todoItem对象;

html页面里面使用todoList对象:

前端组件化演进之路

todoList对象:

前端组件化演进之路

todoItem对象:

前端组件化演进之路

每个对象只管理自己的属性和方法,只做自己这个对象的dom渲染和绑定事件;各个对象之间不会互相影响,大大降低了耦合性。将页面上的两个部分拆成两个对象,那其实这两个对象就是两个组件。在对象的代码中有dom展示、有js逻辑代码,还可以在其中加入css样式,这就相当于事一个组件了。

jQuery实现组件化编程

在jquery类上扩展一个继承方法:

前端组件化演进之路

有一个组件类Component为父类,这个父类有init、render、bind的空方法:

前端组件化演进之路

紧接着在todoList和todoItem里去继承Component并且去覆盖父类里的render和bind方法,在子类的构造函数里去调用父类的构造函数。

前端组件化演进之路
前端组件化演进之路

从React官网上的截图我们可以看到代码中也有继承,也有render函数,其实在写组件的都是要去继承类并且去实现类里的方法,就是在写面向对象的代码。


以上所述就是小编给大家介绍的《前端组件化演进之路》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数学规划

数学规划

黄红选 / 清华大学出版社 / 2006-3 / 45.00元

《数学规划》以数学规划为对象,从理论、算法和计算等方面介绍,分析和求解常见的最优化问题的一些方法,全书共分8章,其中第l章介绍了数学规划的实例、模型以及在分析最优化问题时所涉及的基础知识,第2章至第8章分别讨论了凸分析、线性规划、无约束优化、约束优化、多目标规划、组合优化和整数规划以及全局优化等七个方面的内容,此外,书中每章的最后一节给出了一些习题,书末列出了参考文献和索引。《数学规划》可作为应用......一起来看看 《数学规划》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具