你在项目中是如何封装组件的?
我用vue开发的所有项目,都是采用组件化的思想开发的。
一般我在搭建项目的时候,会创建一个views
目录和一个common
目录和一个components
目录,views目录中放页面级的组件,common目录中放公共组件(如:head(公共头组件),foot(公共底部组件)等),components目录中放功能组件(如:swiper(轮播功能组件),tabbar(切换功能组件)、list(上拉加载更多功能组件))
首先,组件可以提升整个项目的开发效率。能够把页面抽象成多个相对独立的模块,解决了我们传统项目开发:效率低、难维护、复用性低等问题。
使用Vue.extend方法创建一个组件,然后使用Vue.component方法注册组件。但是我们一般用脚手架开发项目,每个 .vue
单文件就是一个组件。在另一组件 import 导入,并在components中注册,子组件需要数据,可以在props中接收定义。而子组件修改好数据后,想把数据传递给父组件,可以采用emit方法。