組件化是Vue的精髓,Vue應用就是由一個個組件構成的。
1.定義
組件是可複用的 Vue 實例
,準確講它們是VueComponent的實例,繼承自Vue。
2.優點
可以增加代碼的複用性
、可維護性
和可測試性
。提高開發效率, 方便重複使用,簡化調試步驟,提升整個項目的可維護性,便於協同開發,是高內聚、低耦合代碼的實踐。
3.使用場景
- 通用組件:實現最基本的功能,具有
通用性
和複用性
。例如按鈕組件、佈局組件等 - 業務組件:完成具體的業務,具有
一定的複用性
。例如登錄、輪播圖、提示信息等 - 頁面組件:組織應用各部分的
獨立
內容,需要根據條件切換頁面內容。例如列表頁、詳情頁
4.如何使用組件
- 註冊:
Vue.component()
,component
選項,單文件 - 通信:
props
、$emit('')/$on
、provide/inject
,$children/$parent/$root/$attrs/$listeners
- 內容分發:
<slot>
、<template>
、v-slot
5.組件的本質
vue中的組件經過如下過程:
組件配置 => VueComponent實例 => render() => Virtual Dom => Dom
所以組件的本質是產生虛擬Dom