成人免费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無虛擬模式

2022-10-12 00:07:25

加密貨幣區塊鏈比特幣

2021-12-14 10:04:52

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

2015-07-03 09:45:34

火車WiFi

2022-09-11 08:10:44

Fedora

2010-10-25 13:12:13

云計算

2015-06-16 10:50:45

2013-01-25 09:43:14

2013-10-09 10:50:00

智能電視智能電視庫應用

2015-04-29 09:55:50

Windows 10

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公有云服務

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技術棧公眾號

主站蜘蛛池模板: 亚洲成人精品在线 | 999国产视频| 免费国产视频在线观看 | 欧美xxxx黑人又粗又长 | 亚洲夜射 | 在线欧美小视频 | 亚洲综合在线一区二区 | 国产一区二区在线免费播放 | 午夜精品一区二区三区三上悠亚 | 久久五月婷 | 久久亚洲一区 | 欧美日日| 日韩中文字幕 | 国产精品久久久久久久白浊 | 国产成人精品综合 | 精品视频在线免费观看 | 中文字幕国产 | 激情视频中文字幕 | 天天看片天天干 | 精品视频在线播放 | 国产日韩精品一区二区三区 | 日本在线视频一区二区 | 一区二区三区四区国产 | 国产精品v | 久久久蜜臀国产一区二区 | 黄视频网站免费观看 | 午夜精品视频在线观看 | 国产精品日韩欧美一区二区 | 一区二区免费看 | 日日夜夜天天久久 | 色99视频 | 狠狠狠色丁香婷婷综合久久五月 | 国产欧美日韩一区 | 日日噜噜噜夜夜爽爽狠狠视频97 | 日韩国产中文字幕 | 美国黄色毛片 | 国产成人精品久久二区二区91 | av一二三区 | 亚洲精品一区二区三区四区高清 | 欧美一区二区另类 | www.99热.com |