成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vue 3.5 即將到來:探索最新特性與性能提升

開發 前端
新的 useId? 實用組合函數返回一個在服務器渲染和客戶端渲染之間穩定的唯一 ID(這樣可以減少應用中出現水合不匹配的風險)。這對于表單元素的 for? 和 id 屬性以及可訪問性屬性非常有用。

Vue 正在為 Vue 3.5 版本進行準備。這一新版本(目前處于 Alpha 階段)帶來了一系列的增強功能、新特性以及重要的改動,以提升開發者和用戶的體驗。根據官方的更新日志,我們來看看 Vue 3.5 中即將推出的內容。

github:https://github.com/vuejs/core/blob/minor/CHANGELOG.md

響應式屬性解構

響應式屬性解構已經處于實驗狀態大約一年了,但在 3.5 版本中,這一特性將作為穩定功能發布。這個功能允許你從 defineProps 宏中解構屬性而不會失去響應性。

import { watchEffect } from 'vue'

const { count } = defineProps(['count'])

watchEffect(() => {
  // 每次父組件中的 count 屬性變化時都會觸發這個日志
  console.log(count)
})

尤雨溪 說:“幾乎所有在真實項目中大規模使用 [響應式屬性解構] 的開發者都反饋了積極的意見。他們表示,非常喜歡這個功能……希望它能穩定下來。”

對于那些不想使用這一功能的開發者,可以通過一個標志將其關閉。

// vite.config.js
export default {
  plugins: [
    vue({
      script: {
        propsDestructure: false
      }
    })
  ]
}

useTemplateRef

當前聲明模板引用的過程如下:

<script setup>
// 首先定義一個值為 undefined 或 null 的 ref
// 并將生成的變量命名為你想要的名字
const divEl = ref();
</script>

<template>
<!-- 然后在模板中使用與變量相同的名字作為 `ref` 屬性的值 -->
<div ref="divEl" ></div>
</template>

這種方法有兩個問題:

  1. 有時令人困惑。divEl 是響應式數據還是 DOM 元素?如果你有命名模板引用的慣例,這還不算糟,但最終你必須在模板中找到匹配的 ref= 才能確定。
  2. 這也限制了你只能在組件腳本 setup 部分中定義模板引用。這意味著希望訪問 DOM 元素的組合函數必須接受模板引用作為參數。

現在使用 useTemplateRef 可以解決這兩個問題。

// MyComposable
export const useMyComposable = (options = {
  templateRef: 'el'
})=>{
  // 由于函數名稱的緣故,這顯然是一個模板引用 ?? 
  const theEl = useTemplateRef(options.templateRef);
}

// MyComponent
<script setup>
// 無需在組件中定義模板引用
// 這可以交給組合函數來處理
useMyComposable()
useMyComposable({ templateRef: 'el2' })
</script>
<template>
<div ref="el"></div>
<div ref="el2"></div>
</template>

useId

新的 useId 實用組合函數返回一個在服務器渲染和客戶端渲染之間穩定的唯一 ID(這樣可以減少應用中出現水合不匹配的風險)。這對于表單元素的 for 和 id 屬性以及可訪問性屬性非常有用。

<!--MyCustomInput-->
<script setup>
defineProps({
  label: String,
  help: String
  //...
})

const inputId = useId();
const helpTextId = useId();
</script>
<template>

<label :for="inputId">{{label}}</label>
<input :id="inputId" :aria-describedby="helpTextId"/>
<p :id="helpTextId">{{ help }}</p>

</template>

內存改進 === 更快的應用

據尤雨溪 說,“第一個顯著的變化是內部響應性重構的第二次嘗試。”重構意味著內存使用量減少了 60%,這對于任何處理大型響應式數據數組的應用來說都是一個巨大的勝利。實際上,Vue 團隊特別優化了許多常見的數組方法,使得遍歷數組的速度提高了多達 10 倍。

你可以在 DejaVue 播客的《The Future of Vue.js》這一集中聽到 Evan 自己的介紹,或者查看更新日志以獲取更多信息。

博客地址:https://www.youtube.com/watch?v=xvkf3KOaRlQ&t=890s

與 SSR 相關的改進

盡管這些內容還未寫入更新日志,Evan 提到其他與 SSR 相關的改進正在進行中,包括:

  • 使用異步組件作為邊界進行延遲水合。這意味著你將能夠在定義異步組件時指定何時將用于客戶端水合組件的 JavaScript 發送到瀏覽器。
  • 有選擇地允許水合不匹配,使處理客戶端和服務器之間從未期望相同的數據(如日期)變得更容易。

結論

這些只是 Vue 下一個次版本(Vue 3.5)中一些令人期待的亮點。其他的 bug 修復和新特性還包括:

  • 更好的屬性類型推斷
  • 支持在 Transition 內直接嵌套 Teleport
  • app.onUnmount() 用于注冊清理函數
  • onScopeDispose 的 failSilently 參數

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2018-08-15 09:12:58

2023-11-10 09:04:47

2023-02-14 09:37:00

Vue無虛擬模式

2015-07-03 09:45:34

火車WiFi

2021-12-14 10:04:52

無密碼時代多因素身份驗證MFA

2022-10-12 00:07:25

加密貨幣區塊鏈比特幣

2022-09-11 08:10:44

Fedora

2010-10-25 13:12:13

云計算

2015-06-16 10:50:45

2010-04-19 15:58:33

互聯網

2009-05-05 10:36:44

KDESocialDesktop

2015-02-09 15:37:46

2013-03-11 09:43:30

VMware vClo公有云服務

2013-10-09 10:50:00

智能電視智能電視庫應用

2015-04-29 09:55:50

Windows 10

2013-01-25 09:43:14

2019-07-18 13:53:24

Python 3.8Python開發

2024-05-07 09:04:27

Tailwind前端開發Rust

2020-12-10 16:17:27

RPA

2014-07-18 09:16:10

智能手機全息顯示
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠亚洲| 免费在线观看成人 | 久久青草av | 成人影| 亚洲精品一区二区三区蜜桃久 | 91视频网址 | 亚洲精品久久久一区二区三区 | av一二三四 | 一级大片 | 久在线| 成人福利网 | 亚洲视频一区在线观看 | 国产精品一区二区三区在线 | 亚洲欧洲在线看 | 亚洲高清免费 | 午夜不卡福利视频 | 中文字幕国产一区 | 日本亚洲精品成人欧美一区 | 国产高清精品一区 | 精品一区二区免费视频 | 欧美一级淫片免费视频黄 | 羞羞网站在线免费观看 | 国产乱码精品一区二区三区忘忧草 | 激情视频网站 | 欧美日韩中文国产一区发布 | 国产精品美女一区二区 | 国产精品免费一区二区 | 日韩精品专区在线影院重磅 | 国产精品久久久亚洲 | 国产精品一区二区av | 久久久久久黄 | 国产一区二区三区视频 | 亚洲一区二区av | 东方伊人免费在线观看 | 国产亚洲人成a在线v网站 | 色综合久久天天综合网 | 精品一区av | 婷婷99 | 污片在线免费观看 | 精品亚洲一区二区 | 亚洲视频欧美视频 |