溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue.js組件化指的是什么

發(fā)布時間:2020-12-09 10:00:55 來源:億速云 閱讀:208 作者:小新 欄目:編程語言

小編給大家分享一下vue.js組件化指的是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

vue.js組件化用于將UI頁面分割為若干組件進行組合和嵌套;組件化是一種高效的處理復雜應用系統(tǒng),更好的明確功能模塊作用的方式;目的是為了解耦,把復雜系統(tǒng)拆分成多個組件,分離組件邊界和責任,便于獨立升級和維護。

Vue 是一套用于構建用戶界面的漸進式框架。它有著如下特點:

漸進式框架,采用自底向上增量開發(fā)設計

模版雙向綁定機制

利用指令(directive)對 DOM 進行封裝

組件化設計思想

vue.js組件化指的是什么

Vue 的組件化將 UI 頁面分割為若干組件進行組合和嵌套。

Vue 組件化

組件化是一種高效的處理復雜應用系統(tǒng),更好的明確功能模塊作用的方式。目的是:為了解耦,把復雜系統(tǒng)拆分成多個組件,分離組件邊界和責任,便于獨立升級和維護。

組件化的好處不用一一細說大家都知道了,組件是 Vue.js 最強大的功能之一,讓我們用獨立可復用的小組件來構建大型應用,開發(fā)效率更快更敏捷。

為了更好地復用,這里以建立彈窗組件為實例,談談如何建立一個項目的組件庫。

Vue 組件規(guī)范化

沒有規(guī)矩,難成方圓。

要搭建一個好的組件庫,應該一開始要定下一些通用的規(guī)矩。

1. 命名

組件的命名應該與業(yè)務無關,而是根據(jù)組件實現(xiàn)的功能來進行命名。同時,也應該與業(yè)務文件命名區(qū)分開來,可以加一些特有的前綴。例如在這里,所有組件前綴都添加 “UI” ,彈窗組件命名為 “UIDialog”。

2. 實現(xiàn)

可復用組件實現(xiàn)的應該是通用的功能,它實現(xiàn)的應該是:

UI 的展示

與用戶的交互(事件)

動畫效果

可復用組件應盡量減少對外部條件的依賴。一個獨立的功能組件,最好不要拆成若干個小組件來實現(xiàn)。

3. 理解組件屬性和事件

在 Vue 組件里,狀態(tài)稱為 props,事件稱為 events,片段稱為 slots。

props 允許外部環(huán)境傳遞數(shù)據(jù)給組件。

通過 props 來聲明自己的屬性??梢酝ㄟ^上文 dialog/index.vue 代碼進行理解。它的 type 即類型有:String、Number、Boolean、Array、Object、Date、Function、Symbol。

events 允許組件出發(fā)外部環(huán)境的副作用。

可以通過用 v-on 來監(jiān)聽 Dom 事件。語法:v-on:事件類型=“事件處理函數(shù)名”。縮寫為: @事件類型=“事件處理函數(shù)名”。

一個直觀的例子是:

<ulid="app">
<liv-on:click="clickMe">單擊事件</li>
</ul>
<script>
var app = new Vue({
el : '#app',
data : {
},
methods : {
clickMe : function(){
console.log('單擊事件發(fā)生');
}
}
})
</script>

slot 允許外部環(huán)境將額外的內容組合在組件中。

slot 相當于在子組件設置了一個地方,當調用它的時候,往它的開閉標簽之間放了東西,那么它就把這些東西放到 slot 中。通過 slot 我們調用組件的時候就可以根據(jù)需要改變組件的實際內容。

例如子組件模版:

<div>
<h3>我是子組件的標題</h3>
<slot>
只有在沒有要分發(fā)的內容時才會顯示。
</slot>
</div>

父組件模版:

<div>
<h2>我是父組件的標題</h2>
<my-component>
<p>這是一些初始內容</p>
</my-component>
</div>

渲染結果:

<div>
<h2>我是父組件的標題</h2>
<div>
<h3>我是子組件的標題</h3>
<p>這是一些初始內容</p>
</div>
</div>

看完了這篇文章,相信你對vue.js組件化指的是什么有了一定的了解,想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI