组件化开发的思考

经历过不少场面试,以及对本身所作项目的思考与积累。对于组件化的开发有了一点点理解。 其实开发一个项目,就相似与作一个乐高玩具。乐高由不一样的积木块拼成,每一个积木块能够和不一样的积木块链接。 并且积木块与积木块之间没有影响。一个萝卜一个坑,只要这个坑你能填进去,你就适合。 而咱们开发一个项目的时候,就要规划好那些功能.在前端来讲,就是哪些标签,哪些CSS,哪些JS可以抽象成一个积木块。 在编程开始后,再不断的改进这个积木块所须要用到的数据,事件。积木块之间的影响如何尽可能的解耦。 父组件子组件的数据若是传递和更改。css

如何实现组件化

组件在spa的实现

  1. 经过jsx或者template,在文件中定义好css,js。
  2. 此组件须要那些属性。属性是经过props由上级传过来,仍是直接定义在data,又或者是定义在状态管理中。
  3. 数据是否须要持久化,缓存?由于spa在一次刷新以后,会初始化(根据你写的代码)数据状态,因此咱们须要记录这些数据, 这些数据是存在 localstorage仍是cookie,使用storage时是否须要考虑到向后兼容。
  4. 数据的改变,是提交至状态管理,仍是经过子组件事件提交,父组件监听相应的事件去改变这个数据。
  5. 某个功能是否有必要将它抽象成组件,主要看复用需求,由于转换成组件,每每须要改变不少页面的结构,以及数据,事件。
  6. 组件的可拓展性,若是须要这个组件完成新加的须要,改动最小。

组件在JQuery中的实现

  1. 先写好这个组件的样式,以及功能。
  2. 建立一个构造函数,包含组件实例的建立,将1中的html代码转成字符串进行拼接。或者DocumentFragment对象。
  3. 绑定事件。
  4. 将须要用到的数据,用过事件的参数传递。
  5. 插入到指定的位置,append

面向对象开发

在进行组件化的开发时,其实就已经有面向对象开发的思想,你就能用到构造函数、prototype、继承等面向对象开发的特性。 可是这个步骤不须要强制的使用到全部的场景,由于有时候抽象组件时你花费的时间,以及组件的健壮性都不能让你满意。 按照需求去敲代码,思考。才是最适合开发者的方式。 并且,一种开发思想的创建,是须要代码量,须要自我驱动的思考。html

相关文章
相关标签/搜索