您好,登錄后才能下訂單哦!
這篇文章主要介紹“Vue3和Vue2比對有什么不同”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Vue3和Vue2比對有什么不同”文章能幫助大家解決問題。
性能
Vue 2.6.10 最小化壓縮 22.8kB
Vue 3 最小化壓縮約為 10KB
全局API
vue2:
Vue核心使用什么功能,它們最終都會出現在生產代碼中,因為Vue實例被導出為單個對象
vue3:
按需導出,只導出使用到的API并刪除未使用的代碼。所以以前的全局API現在只能通過命名的導出才能使用。
示例
vue2
// Vue 2.x - whole ——Vue—— object is bundled for production
import Vue from 'vue'
Vue.nextTick(() => {})
const obj = Vue.observable({})
vue3
// Vue 3.x - only imported properties are bundled
import { nextTick, observable } from 'vue'
nextTick(() => {})
const obj = observable({})
屬性賦值
vue2 基于的Object.defineProperty, 我們需要使用Vue.set,Vue.delete 來設值屬性值,觸發屬性值的變化。
vue3 使用JS Proxies, 直接對屬性進行賦值,就可以觸發屬性值變化。
并且vue3的這一改進,可以更快觸發屬性值變化,性能比vue2 大約快2倍。
示例
// Adding a new property to reacitve object in Vue 2.x
Vue.set(this.myObject, key, value)
// Adding a new property to reactive object in Vue 3
this.myObject[key] = value
重新渲染組件識別
Vue 3中新增一個新的生命周期掛鉤-renderTriggered, 我們renderTriggered可以使用它來跟蹤和消除不必要的組件重新渲染, 這對在運行時組件的性能優化有非常有用。
示例
const Component = {
// other properties
renderTriggered (event) {
console.log(——Re-render of —— + this.$options.name + —— component——, event)
}
}
關于“Vue3和Vue2比對有什么不同”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。