Vue中的components功能可以讓我們把頁面拆分成多個組件,每個組件都能獨立地處理一部分頁面邏輯和操作,而不干擾其他組件的功能。這使得頁面代碼整體結構更為清晰,邏輯更加分明,代碼量也更小。
要使用Vue中的components功能,我們需要先定義一個組件,定義一個組件的方式是通過Vue.component方法,這個方法需要我們傳入兩個參數,第一個參數是組件的名稱,第二個參數是組件的配置對象。配置對象中會包含組件的template,props,data等。
Vue.component('my-component',{ template: '{{ message }}', data: function () { return { message: 'This is my component!' } } })
在定義好組件后,我們就可以在我們的頁面中使用它了。使用組件需要用到Vue的組件標簽,組件標簽的用法是用組件名稱當作標簽名稱,并且在標簽中傳入props數據。
組件中的props屬性是一個數組,用來聲明在組件標簽中可以傳遞的數據,props屬性可以自定義數據類型及其驗證方式。當我們在組件中想要使用傳遞進來的數據時,只需要在組件內部使用this.propName即可。
Vue.component('my-component',{ props: { myProp: { type: String, required: true } }, template: '{{ myProp }}' })
在Vue中使用組件還需要注意到一個非常重要的問題,那就是組件之間的通信,Vue提供了多種通信方式,包括父向子傳遞數據、子向父傳遞消息、兄弟間通信等。其中最常用的父向子傳遞數據的方式是使用props傳入數據,子向父傳遞消息的方式是觸發父組件的自定義事件。
總而言之,Vue中的components功能使得我們可以把一個大頁面拆分成多個小組件來開發,不僅使得代碼結構更加清晰,也提高了代碼的可復用性。