组件封装在我们项目开发过程中是日常工作,以下是我对组件封装分类的划分:

1、工具类组件:即具体的项目无关的组件,比如说:轮播图组件,导入Excel数据组件,全屏组件等;

2、项目业务相关的组件:这个是与具体项目紧密相关的,可能会在一个项目中使用多次,或者在同一系列的项目中使用。比如说图片上传组件,分页器单独封装成一个组件;

3、项目复杂页面的子组件:这个一般是不会使用多次,只是对于较复杂页面模块我们把它拆分成多个子组件,这样做的目的是便于维护。比如说这个复杂页面的新增、编辑等这个要根据具体项目具体拆分组件。

面试官如果这么问:

你封装过组件吗??说一下组件封装????你在项目中是如何封装组件的?
以上问题是面试官,最常问到的问题?那么你应该如何回答呢?
答: 我用vue开发的所有项目,都是采用组件化的思想开发的。一般我在搭建项目的时候,会创建一个views目录和一个commen目录和一个feature目录,views目录中放页面级的组件,commen中放公共组件(如:head(公共头组件),foot(公共底部组件)等),feature目录内放功能组件(如:swiper(轮播功能组件),tabbar(切换功能组件)、list(上拉加载更多功能组件))

首先,组件可以提升整个项目的开发效率。能够把页面抽象成多个相对独立的模块,解决了我们传统项目开发:效率低、难维护、复用性低等问题。

使用Vue.extend方法创建一个组件,然后使用Vue.component方法注册组件。但是我们一般用脚手架开发项目,每个 .vue单文件就是一个组件。在另一组件import 导入,并在components中注册,子组件需要数据,可以在props中接受定义。而子组件修改好数据后,想把数据传递给父组件。可以采用emit方法。组件封装无非就是组件间通信或者复杂一些嵌套的组件通过使用slot插槽来实现等等。