(前端百科加星,提升前端技能)
作者:前端工匠公眾號/乘風破浪(本文來自作者投稿)
前言
本文主要介紹Vue的三個基本概念,屬性、事件和槽,以及如何使用它們以及一些容易被忽視的重要細節。 如果你閱讀別人寫的組件,你可以從這三個部分開始,它們可以幫助你快速理解一個組件的所有功能。
請大家狠狠戳本文的代碼,紙上談兵,大家盡量多敲代碼!
1. 屬性 1. 自定義屬性道具
prop定義了這個組件的可配置屬性,組件的核心功能也由它決定。 編寫通用組件時,最好以對象的形式編寫 props,這樣就可以為每個屬性設置類型、默認值或自定義驗證屬性的值。 這在組件開發中非常重要,但是很多人都忽略了,直接使用 props 的數組用法,這樣的組件往往不嚴謹。
// 父組件
'屬性'
:類型='類型'
:是-=“假”
:on-=""
:列表=[22,33,44]
title="屬性演示"
:class="['test2']"
:style="{ : '20px' }" //注意:style的優先級高于style
// 子裝配體
道具: {
姓名: ,
類型: {
//從父類傳入的類型,其值必須是指定的'','',''之一,如果傳入這三個以外的值,會拋出警告
:(值)=> {
['', '', '']。(價值)
},
:{
//對于接收到的數據,可以是各種數據類型,也可以傳一個函數
類型: ,
: () => { }
},
:{
類型: ,
: 錯誤的
},
列表: {
類型:數組,
// 對象或數組的默認值必須從工廠函數獲取
: () => []
從上面的例子可以得出,props可以顯示和定義一個或多個數據。 對于接收到的數據,可以是各種數據類型,也可以傳遞一個函數。
2.
這是2.4.0中的新API。 默認情況下,父作用域中不被視為 props 的屬性綁定將“回退”并作為普通 HTML 屬性應用于子組件的根元素。 通過設置為 false,這些默認行為將被刪除。 注意:此選項不影響類和樣式綁定。 上例中,如果子組件的 props 中沒有聲明 title 屬性,那么它會默認掛在子組件的根元素上,如下圖所示:
3. data和props的區別
兩種選項都可以存儲各種類型的數據。 當行為操作發生變化時,所有行為操作所使用的、模板渲染的數據都會同時同步變化。
數據稱為動態數據。 在每種情況下,在任何情況下,我們都可以隨意改變它的數據類型和數據結構,而不受任何環境的影響。
props 稱為靜態數據。 在每種情況下,一旦在初始化中定義了類型,它就是基于 Vue 的單向數據流。 它的數據類型在數據傳輸過程中不能改變,并且不允許直接操作傳遞的 props 數據,而需要使用其他手段來改變傳輸源中的數據。 至于如何改變,我們接下來詳細介紹:
4. 單向數據流
這個概念出現在組件通信中。 道具