溫馨提示×

溫馨提示×

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

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

Vue的小技巧有哪些

發(fā)布時間:2021-10-20 09:27:06 來源:億速云 閱讀:75 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“Vue的小技巧有哪些”,在日常操作中,相信很多人在Vue的小技巧有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Vue的小技巧有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

1. 始終在 `v-for` 中使用 `:key`

在需要操縱數(shù)據(jù)時,將key屬性與v-for指令一起使用可以讓程序保持恒定且可預(yù)測是很有必要的。這樣Vue就可以跟蹤組件狀態(tài),并對不同的元素有一個常量引用。在使用動畫或Vue轉(zhuǎn)換時,如果沒有key  ,Vue只會嘗試使DOM盡可能高效。這或許會導(dǎo)致v-for中的元素出現(xiàn)亂序,或行為難以預(yù)測。如果我們對每個元素都有唯一的鍵引用,就能更好地預(yù)測Vue應(yīng)用程序?qū)⑷绾尉_地處理DOM操作。

Vue的小技巧有哪些

2. 使用駝峰式聲明 props,并在模板中使用短橫線命名來訪問 props

最佳做法只是遵循每種語言的約定。在 JS 中,駝峰式聲明是標(biāo)準(zhǔn),在HTML中,是短橫線命名。Vue  已經(jīng)提供了駝峰式聲明和短橫線命名之間轉(zhuǎn)換,所以除了實際聲明它們之外,我們不用擔(dān)心任何事情。

3. 在事件中使用短橫線命名

在發(fā)出定制事件時,最好使用短橫線命名,這是因為在父組件中,我們使用相同的語法來偵聽該事件。所以為了確保我們各組件之間的一致性,讓你的代碼更具可讀性,請在兩個地方都堅持使用短橫線命名。

4. 函數(shù)式組件

函數(shù)式組件是無狀態(tài),它無法實例化,沒有任何的生命周期和方法。創(chuàng)建函數(shù)式組件也很簡單,只需要在模板添加 functional  聲明即可。一般適合只依賴于外部數(shù)據(jù)的變化而變化的組件,因其輕量,渲染性能也會有所提高。組件需要的一切都是通過 context  參數(shù)傳遞。它是一個上下文對象,具體屬性查看文檔。這里 props 是一個包含所有綁定屬性的對象。

5. 重用相同路由的組件

開發(fā)小伙伴們常常會遇到多個路由解析為同一個Vue組件的情況。問題是,Vue出于性能原因,默認(rèn)情況下共享組件將不會重新渲染,如果你嘗試在使用相同組件的路由之間進(jìn)行切換,則不會發(fā)生任何變化。如果你依然希望重新渲染這些組件,就可以通過在  router-view 組件中提供 :key 屬性來實現(xiàn)。

6. $createElement

一般情況下,每個Vue實例都可以訪問 $createElement  方法來創(chuàng)建和返回虛擬節(jié)點。例如,可以利用它在可以通過v-html指令傳遞的方法中使用標(biāo)記。在函數(shù)組件中,可以將此方法作為渲染函數(shù)中的第一個參數(shù)進(jìn)行訪問。

7. 使用JSX

由于Vue CLI 3默認(rèn)支持使用JSX,因此現(xiàn)在你可以使用JSX編寫代碼。如果尚未使用Vue CLI 3,則可以使用  babel-plugin-transform-vue-jsx 獲得JSX支持。

8. 作用域插槽實現(xiàn) UI 和業(yè)務(wù)邏輯的分離

我們常常會想復(fù)用一個組件的業(yè)務(wù)邏輯,但是不想使用該組件的 UI時,可以使用作用域插槽實現(xiàn) UI 和業(yè)務(wù)邏輯的分離。作用域插槽大致的思路是將 DOM  結(jié)構(gòu)交給調(diào)用方去決定,組件內(nèi)部只關(guān)注業(yè)務(wù)邏輯,最后將數(shù)據(jù)和事件等通過 :item ="item" 的方式傳遞給父組件去處理和調(diào)用,實現(xiàn) UI  和業(yè)務(wù)邏輯的分離。再結(jié)合渲染函數(shù),就可以實現(xiàn)無渲染組件的效果。

到此,關(guān)于“Vue的小技巧有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

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

vue
AI