定義:組件是可復用的 Vue 實例
全局組件:一般來說是在任何頁面中任何位置都可以使用,比如:頭部公共欄(navbar),底部公共欄(tabbar)
局部組件:只能定義在它的el中,不能使用在其他的位置,否則無效
注冊類型:
1.全局注冊
Vue.component('my-component-name', { // ... 選項 ... })
第一個參數是組件名
第二個參數 因為組件是可復用的 Vue 實例,所以它們與 new Vue
接收相同的選項,例如 data
、computed
、watch
、methods
以及生命周期鈎子等。僅有的例外是像 el
這樣根實例特有的選項。
注意:data必須是一個函數
當我們定義這個 <button-counter>
組件時,你可能會發現它的 data
並不是像這樣直接提供一個對象:
data: {
count: 0 }
取而代之的是,一個組件的 data
選項必須是一個函數,因此每個實例可以維護一份被返回對象的獨立的拷貝:
data: function () { return { count: 0 } }
全局注冊的行為必須在根 Vue 實例 (通過 new Vue
) 創建之前發生
2.局部注冊
在模塊系統中局部注冊
例:
import ComponentA from './ComponentA' import ComponentC from './ComponentC' export default { components: { ComponentA, ComponentC }, // ... }