自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vue 的這五個技巧,可以大大提高我們的構(gòu)建體驗!

開發(fā) 前端
今天,主要分享 Vue 的 5個技巧,來提高項目的構(gòu)建速度。使用可讀的命名規(guī)范。這一點你可能已經(jīng)聽說過了,可讀性真的很重要,特別是多人合作的項目。以下是一些被認(rèn)為是最佳做法的建議。

[[422801]]

今天,主要分享 Vue 的 5個技巧,來提高項目的構(gòu)建速度。

使用可讀的命名規(guī)范

這一點你可能已經(jīng)聽說過了,可讀性真的很重要,特別是多人合作的項目。以下是一些被認(rèn)為是最佳做法的建議。

命名組件時使用駝峰

  • NewComponent.vue ✅
  • newcomponent.vue 🛑
  • Newcomponent.vue 🛑

**如果有子組件,可以這樣命名

  • FooterSection.vue
  • FooterSectionHeading.vue
  • FooterSectionIcons.vue
  • FooterSectionButton.vue

如果沒有子組件,可以嘗試加前綴 the 來命名

  • TheNavbar.vue

驗證 Props 的數(shù)據(jù)類型

Prop 是父子組件數(shù)據(jù)通訊的重要方式,然而,重要的是,創(chuàng)建 Prop 時,明確指定數(shù)據(jù)類型并對傳入的數(shù)據(jù)進(jìn)行驗證,可以幫助避免我們在開發(fā)階段由于類型不一致導(dǎo)致的 Bug。

我們新手可能時不時會經(jīng)常這樣寫 prop:

  1. props: ['title''likes''isPublished''commentIds''author'

但是,通常你希望每個 prop 都有指定的值類型。這時,你可以以對象形式列出 prop,這些 property 的名稱和值分別是 prop 各自的名稱和類型:

  1. props: { 
  2.   title: String, 
  3.   likes: Number, 
  4.   isPublished: Boolean, 
  5.   commentIds: Array, 
  6.   author: Object, 
  7.   callback: Function
  8.   contactsPromise: Promise // or any other constructor 

這不僅為你的組件提供了文檔,還會在它們遇到錯誤的類型時從瀏覽器的 JavaScript 控制臺提示用戶。

不要直接操作DOM

從早期用 JQ 過來的同學(xué),在用 Vue 時有部分人還是很喜歡直接操作DOM,這并不是壞事,不過 Vue 使用虛擬DOM,這是一個抽象的DOM版本,使編譯更有效,避免在每次變化時重新渲染整個DOM。這一點在很大程度上提高了效率和資源管理,因為DOM API被調(diào)用的頻率較低。這意味著,我們并不真的需要在組件中做這樣的事情。

  1. <input type="checkbox" @change="logStatus" /> 

如果要根據(jù)上面的 checkbox 狀態(tài)做一些事情,我們可能會這樣做:

  1. methods: { 
  2.   logStatus() { 
  3.     const isOn = document.getElementById('thecheckbox').checked; 
  4.     if( isOn ) { 
  5.       console.log('Light is on'); 
  6.     } else { 
  7.       console.log('Light is off'); 
  8.     } 
  9.   } 

getElement 是DOM API,如果用下面這種方式來代替,效率會提高。

  1. data() { 
  2.   return { 
  3.     isOn = false 
  4.   } 
  5. }, 
  6. methods: { 
  7.   logStatus() { 
  8.     if(this.isOn) { 
  9.       console.log('Light is on'); 
  10.     } else { 
  11.       console.log('Light is off'); 
  12.     } 
  13.     this.isOn = !this.isOn; 
  14.   } 

不需要用 DOM API,這也可以達(dá)到同樣的效果。無論你能用純JS做什么,都有可能在虛擬DOM中找到更有效的方法,如果你找不到,請使用 Vue Refs。

擁抱計算屬性

計算屬性是減少復(fù)雜邏輯的一個很好的方式,比如,在我們的條件表達(dá)式很長的時候就很可以用計算屬性,簡化成一個變量,可以大大的提高可讀性,也避免給后面維護(hù)的人留坑。

  1. <div v-for=’car in cars’ v-if=’car.country =="Germany"' > 

我們可以使用v-for來循環(huán)瀏覽列表,有些人會像上面那樣使用 v-if 來做條件或過濾。這看起來不錯,但是,Vue的編譯器優(yōu)先考慮 v-for 而不是 v-if,所以最后的結(jié)果可能不是我們想要的,列表(想象它有100萬個)將被每次循環(huán),這樣一點都不高效,我們可以使用計算屬性改善這一問題。

  1. <div v-for='car in countryFilter'
  2. //.... 
  3. computed: { 
  4.   countryFilter: () => { 
  5.     return this.cars.filter(function (car) { 
  6.       return car.country =="Germany" 
  7.     }) 
  8.   } 

這種循環(huán)效率更高,計算的屬性也只被執(zhí)行一次,只有依賴的變量變化時才會再次執(zhí)行。最后,它把邏輯從模板部分分離出來,這樣我們的代碼就更干凈和可讀。

寶藏庫 --- 官方文檔

111

Vue 的文檔寫的是很詳細(xì)的,畢竟是我們的人寫的,比較符合我們的思考方式,文檔中有很多小技巧和資源,其中有個風(fēng)格指南,一定要看看。

地址:https://cn.vuejs.org/v2/style-guide/index.html

作者:Nwose Lotanna Victor 譯者:前端小智

來源:medium 原文:https://blog.openreplay.com/5-useful-vuejs-tips-to-improve-your-building-experience

【編輯推薦】

 

責(zé)任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2024-03-17 20:01:51

2022-02-28 10:02:54

Linux技巧命令

2021-12-21 09:50:02

Java請求合并代碼

2022-08-02 16:38:53

惡意軟件密碼

2013-03-29 10:23:02

數(shù)據(jù)庫癌癥治療

2021-11-17 16:24:23

JS 代碼函數(shù)聲明

2023-11-20 23:02:36

Spring系統(tǒng)

2023-11-27 18:01:17

MySQL技巧

2016-11-03 09:34:13

跳槽大數(shù)據(jù)求職

2020-08-28 10:22:26

前端布局效率

2021-06-17 07:45:35

Javascript 技巧效率

2023-09-07 10:21:03

VS Code 技巧提高開發(fā)效率

2023-02-21 14:55:40

React開發(fā)技巧

2015-03-10 17:07:09

BlueHost云架構(gòu)服務(wù)

2023-08-08 08:36:52

Vue.js代碼Pinia

2023-05-28 23:23:44

2010-09-03 14:39:53

CSSCSS樣式表

2020-10-20 08:00:29

AWS云安全數(shù)據(jù)安全

2022-08-29 00:37:53

Python技巧代碼

2025-01-15 17:00:00

開發(fā)Linux命令
點贊
收藏

51CTO技術(shù)棧公眾號