偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

說實(shí)話,第一次對 Vue 有點(diǎn)小失望

開發(fā) 前端
說到一個文件里定義多個文件、邏輯更加聚合,其實(shí)本來 Vue 就支持!如果你想要把多個組件寫在同一個文件里、讓邏輯更加緊湊,那是很簡單的事情,只需要使用 Vue 的 defineComponent + h函數(shù),即可做到。

在最近的 Vue Conf 2024 上,Vue 官方推薦了一款 Vue 的工具 Vine-Vue,在這里我先 respect 一下 Vue 團(tuán)隊對于開發(fā)者的鼓勵~但是我想對 Vue 官方團(tuán)隊說:你真的覺得有必要推薦這個庫嗎?

Vue-Vine

圖片圖片

先來說說這個庫的作用,這個庫的作用就是:讓 Vue 組件能通過函數(shù)式來定義。

舉個例子,我們在平時寫一個組件的時候,會通過模板的方式去定義。

圖片圖片

但是在使用了 Vue-Vine這個庫之后,可以使用函數(shù)式的方式去定義。

圖片圖片

翻看了一下Vue-Vine的官方文檔,總結(jié)出Vue-Vine這個庫的初衷是:

  • 想要做到像 React JSX 那樣的組件定義方式
  • 可以在同個文件里定義多個組件
  • 使得邏輯更加聚合,提高開發(fā)效率

圖片圖片

但是我感覺現(xiàn)階段 Vue 生態(tài)就具備這樣的能力了,且已經(jīng)經(jīng)過一段時間的打磨了呀!

定義多文件、邏輯聚合?Vue 本來就可以!

說到一個文件里定義多個文件、邏輯更加聚合,其實(shí)本來 Vue 就支持!

如果你想要把多個組件寫在同一個文件里、讓邏輯更加緊湊,那是很簡單的事情,只需要使用 Vue 的 defineComponent + h函數(shù),即可做到:

圖片圖片

使用起來就跟平時 Vue 的模板使用別無二致。

圖片圖片

圖片圖片

甚至你可以把爺父孫組件全部定義在同一個文件里。

圖片圖片

使用起來也是跟平時 Vue 的模板使用別無二致。

圖片圖片

圖片圖片

h 函數(shù)太麻煩?那就用 TSX/JSX!

肯定會有人說 Vue 的h函數(shù)用起來太麻煩了,各種層級嵌套,寫起來沒有 TSX/JSX 那么爽。

其實(shí),在 Vue 中也可以寫 TSX/JSX !!

pnpm i @vitejs/plugin-vue-jsx -D

安裝完畢后,需要在 vite.config.ts 中去進(jìn)行插件配置。

圖片圖片

圖片圖片

配置完就可以寫 TSX 啦?。?!

基本渲染 & 響應(yīng)式 & 事件

我們可以新建一個 TsxComp.tsx 文件,來寫 TSX 。寫 TSX 可以不在 Vue文件 中去寫。

圖片圖片

接著我們可以去渲染這個組件。

圖片圖片

可以看到基本的 渲染 & 響應(yīng)式 & 事件 已經(jīng)實(shí)現(xiàn)。

圖片圖片

v-if 條件判斷渲染

模板中一般使用 v-if 來進(jìn)行條件判斷渲染,而 TSX 是比較接近原生語法的,其實(shí)條件判斷也很像原生的寫法,直接用 &&。

圖片圖片

圖片圖片

v-for 循環(huán)渲染

模板中使用 v-for 來循環(huán)渲染,TSX 更接近原生,需要使用數(shù)組方法 map 來進(jìn)行渲染。

圖片圖片

圖片圖片

slot 插槽

在模板中,可以通過插槽 slot 去傳入一些 DOM 到組件內(nèi)去渲染,TSX 中也一樣有插槽,只不過用法不像模板那樣用,而是跟 Vue 的h函數(shù)類似。

舉個例子,我寫一個 TSX 組件接收 default 和 test 兩個插槽。

圖片圖片

如果你是從模板傳到 TSX 中的話,那么傳入的方式無差別,也是使用 template 傳入。

圖片圖片

圖片圖片

如果你是從 TSX 傳到 TSX 的話,那么傳入方式通過 props 來傳了。

圖片圖片

圖片圖片

JSX/TSX 性能差

當(dāng)然你如果用了 JSX/TSX 的話,性能肯定是差一丟丟的,但是這點(diǎn)開銷,真不算啥~大不了不用唄,用回 h 函數(shù)。

圖片 圖片

責(zé)任編輯:武曉燕 來源: 前端之神
相關(guān)推薦

2011-07-21 21:01:37

諾基亞塞班蘋果

2017-03-22 15:38:28

代碼架構(gòu)Java

2023-09-11 00:14:46

后端團(tuán)隊項目

2022-03-16 14:59:28

打包debian模板文件

2012-04-13 10:11:58

Windows 8泄露

2022-08-15 08:16:56

shiroWeb認(rèn)證

2023-04-14 07:49:26

iOS安卓

2023-08-02 07:07:26

GPU核心ACM

2022-06-21 09:26:28

開源項目PR

2015-10-26 16:38:17

2021-02-05 08:35:21

私活程序員

2020-12-08 10:25:56

HibernateMyBatis數(shù)據(jù)庫

2018-09-11 17:05:12

戴爾

2013-05-13 11:35:53

獨(dú)立開發(fā)開發(fā)經(jīng)驗(yàn)開發(fā)感悟

2013-06-03 09:28:49

游戲設(shè)計

2010-05-27 10:00:09

2022-05-06 11:27:23

虛擬人白皮書行業(yè)

2024-01-03 21:50:32

緩存機(jī)制請求

2012-01-18 11:18:12

Web App

2013-02-25 09:43:22

LambdasJava8
點(diǎn)贊
收藏

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