自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

Vue-Vine

圖片圖片

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

舉個(gè)例子,我們在平時(shí)寫一個(gè)組件的時(shí)候,會(huì)通過模板的方式去定義。

圖片圖片

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

圖片圖片

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

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

圖片圖片

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

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

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

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

圖片圖片

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

圖片圖片

圖片圖片

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

圖片圖片

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

圖片圖片

圖片圖片

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

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

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

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

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

圖片圖片

圖片圖片

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

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

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

圖片圖片

接著我們可以去渲染這個(gè)組件。

圖片圖片

可以看到基本的 渲染 & 響應(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ù)類似。

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

圖片圖片

如果你是從模板傳到 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)隊(duì)項(xiàng)目

2012-04-13 10:11:58

Windows 8泄露

2022-03-16 14:59:28

打包debian模板文件

2022-08-15 08:16:56

shiroWeb認(rèn)證

2023-04-14 07:49:26

iOS安卓

2015-10-26 16:38:17

2021-02-05 08:35:21

私活程序員

2022-06-21 09:26:28

開源項(xiàng)目PR

2023-08-02 07:07:26

GPU核心ACM

2020-12-08 10:25:56

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

2013-06-03 09:28:49

游戲設(shè)計(jì)

2013-05-13 11:35:53

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

2018-09-11 17:05:12

戴爾

2024-01-03 21:50:32

緩存機(jī)制請求

2022-05-06 11:27:23

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

2010-05-27 10:00:09

2012-01-18 11:18:12

Web App

2015-11-02 14:42:12

點(diǎn)贊
收藏

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