8 月 5 日,Vue.js 做者尤雨溪在博客上宣佈 Vue.js 3.2 版本正式發佈。 本文的相關內容爲中文翻譯。css
原文地址: https://blog.vuejs.org/posts/...
咱們很高興地宣佈 「Vue.js 3.2」 的發佈!此版本包括許多重要的新功能和性能改進,而且不包含重大更改。html
關於單文件組件(SFC,即.vue 文件)的兩項功能已經由實驗狀態正式畢業,現提供穩定版本:前端
<script setup>
是一種編譯時語法糖,可在 SFC 內使用 Composition API 時極大地改善開發者體驗。<style> v-bind
在 SFC<style>
標籤中啓用組件狀態驅動的動態 CSS 值。下面是這兩個新功能的示例vue
<script setup> import { ref } from 'vue' const color = ref('red') </script> <template> <button @click="color = color === 'red' ? 'green' : 'red'"> Color is: {{ color }} </button> </template> <style scoped> button { color: v-bind(color); } </style>
感興趣的朋友,能夠閱讀它們的文檔:segmentfault
在此基礎上<script setup>
,咱們還有一個新的 RFC,經過啓用編譯器的糖改進 ref 使用體驗。api
Vue 3.2 引入了defineCustomElement
一種使用 Vue 組件 API輕鬆建立原生自定義元素的新方法:微信
import { defineCustomElement } from 'vue' const MyVueElement = defineCustomElement({ // 普通Vue組件選項 }) // 註冊自定義元素。 // 註冊後,全部`<my-vue-element>` 標籤 // 頁面上的將被升級。 customElements.define('my-vue-element', MyVueElement)
這個 API 容許開發者建立 Vue 驅動的 UI 組件庫,這些庫能夠與任何框架一塊兒使用,或者根本沒有框架。咱們還在咱們的文檔中添加了一個關於在 Vue 中使用和建立 Web 組件的新章節。框架
因爲@basvanmeurs
的出色工做,3.2 對 Vue 的反應性系統進行了一些重大的性能改進。具體來講:post
模板編譯器也獲得了一些改進:性能
最後,有一個新的 v-memo 指令,它提供了記憶模板樹的一部分的能力。命中容許 Vue 不只跳過虛擬 DOM 差別,並且徹底跳過新 VNode 的建立。雖然不多須要,但它提供了一個逃生艙來在某些狀況下擠出最大性能,例如大型列表. v-memo v-for
使用單行添加,讓 Vue 成爲 js-framework-benchmark
中最快的主流框架之一:
@vue/server-renderer3.2
中的包如今提供了一個 ES 模塊構建,它也與 Node.js 內置模塊分離。
如此一來能夠經過@vue/server-renderer
在非 Node.js環境運行(例如CloudFlare Workers或 Service Workers)。
咱們還改進了流式渲染 API,提供了用於渲染到Web Streams API 的新方法。查看文檔以@vue/server-renderer
獲取更多詳細信息。
3.2 引入了一個新的Effect Scope API
,用於直接控制反應性效果(計算和觀察者)的處理時間。它能夠更輕鬆地在組件上下文以外利用 Vue 的響應式 API,而且還解鎖了組件內部的一些高級用例。
這是主要面向庫做者的低級 API,所以建議閱讀該功能的RFC以瞭解此功能的動機和用例。
有關 3.2 中全部更改的詳細列表,請參閱完整的更改日誌。
你們好,我是星野。歡迎加我微信
qqlcx55
,或者關注個人公衆號
前端有道 點擊能夠掃碼,學習交流。