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