什麼是組件?html
組件是vue中的一個可複用實例,因此new Vue()是vue中最大的那個組件,根組件,有名字,使用的時候以單標籤或雙標籤使用vue
vm = newVue() 是最大的組件,具備不少實用性的屬性,好比data,methods,computed等,因此定義的組件也有這些屬性函數
組件的出現,就是爲了拆分vue實例的代碼量的,可以讓咱們以不一樣的組件,來劃分不一樣的功能模塊,未來咱們須要什麼樣的功能,就能夠去調用對應的組件便可spa
組件的定義:component
組件分爲全局註冊組件和局部註冊組件htm
Vue使用Vue.component()方法定義組件,這個方法有兩個參數對象
第一個參數:是組件名,第二個參數是options對象blog
這個options對象裏有tempalte、data、methods、computed等io
template:模板 裏面是html格式,裏面只能有一個頂層標籤模板
data:是存放數據的,它是一個函數,return 一個對象,數據都放在這個對象裏
注意:定義組件的時候,首字母必定要大寫
全局組件:
註冊完成以後,在vue實例中的任何地方均可以使用,而且無需掛載到實例(實例中的components)下面
如何使用組件呢?
使用組件標籤
局部組件:
局部組件和全局組件的區別就是局部組件須要掛在到實例的components中,而全局組件不須要
組件的調用:
雙標籤的時候,h小寫 <headers></headers>
單標籤的時候, H大寫 <Headers/>
組件中的 data 和 實例中的 data 有什麼區別?
1. 組件能夠有本身的 data 數據
2. 組件的 data 和 實例的 data 有點不同,實例中的data,能夠爲一個對象,但組件中的data,必須是個方法。
3. 組件中的 data 除了必須爲一個方法以外,這個方法內部,還必須返回一個對象才行。
4. 組件中的 data 數據 使用方法 和 實例中的data 使用方式徹底同樣。