精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

關于Vue3實踐的一些問題清單

開發 前端
關于 vue3,雖然之前很早就看過了,但是也只是簡單的了解一番寫了幾個小 demo,而且我司的主要技術棧也是 vue, 近期趁著這股學習的勁,趕緊向上申請了一個內部項目,想著用 vue3 實踐一波,希望這一篇總結對一些小伙伴提供一些幫助。

 

本文轉載自微信公眾號「微醫大前端技術」,作者黃琴   。轉載本文請聯系微醫大前端技術公眾號。

前言

瞪瞪,胖琴的第三篇文章來襲!近期在自己的規劃中列著一份 vue3 清單。關于 vue3,雖然之前很早就看過了,但是也只是簡單的了解一番寫了幾個小 demo,而且我司的主要技術棧也是 vue, 近期趁著這股學習的勁,趕緊向上申請了一個內部項目,想著用 vue3 實踐一波,希望這一篇總結對一些小伙伴提供一些幫助。

以下主要會從兩部分去做總結,一部分是可能混淆的點 or 一些常見的問題,另外一部分是實踐過程中遇到的坑點/注意點。

關于 vue3 的一些疑問點

1: 使用了 Vue3,是否都要遵循用 Composition API 的形式去寫頁面?

答案是否定的。需要注意一點:Vue3 并沒有廢棄 Options API,甚至還會全力支持兼容 Vue2 語法的工作。而 CompositionAPI 出現的背景主要是為了解決邏輯抽象和和復用的問題,但不意味著它成為了 Vue3 的標準。So,如何區分場景使用Options API or Composition API主要看業務邏輯的復雜程序,例如一些簡單的 toast/button 等基礎組件,用options API形式會更加清晰和簡潔。而相對復雜的業務邏輯,可以用Composition API,可以把單獨一塊邏輯抽離到一個模塊,通過 hook 函數的方式去解決。

2: Vue3 中混用 Options API 和 Composition API 會不會對性能產生影響?

不會。其實從問題 1 就可以明顯地看出來并不會對性能產生任何影響。不應該被option api限制思維,而更多關注邏輯內聚問題

3: 關于 setup 中沒有 this 的問題

vue 官方文檔是這么解釋的:在 setup() 內部,this 不會是該活躍實例的引用,因為 setup() 是在解析其它組件選項之前被調用的,所以 setup() 內部的 this 的行為與其它選項中的 this 完全不同。這在和其它選項式 API 一起使用 setup() 時可能會導致混淆。這意味著,除了 props 之外,你將無法訪問組件中聲明的任何屬性---本地狀態,計算屬性/方法。

但是從源碼實現你會發現其實組件實例創建在前,函數之所以訪問不到 this,是因為它在執行 setup 函數的時候,就沒有把組件實例 instance 傳給 setup。也沒有把 this 指向實例 instance。So 執行順序其實是:組件實例創建在 setup 函數執行之前,但是 setup 執行的時候,組件還沒有 mounted,而晚于 beforeCreate 鉤子,早于 create 鉤子。

4: reactive VS ref

剛開始看文檔時,大家往往會去拿這兩個去對比,總結一下:

reactive API: 可以把一個對象數據變成響應式(等同于 2.x 中的 Vue.observable()),Composition API 更推薦用戶主動定義響應式式數據,而非內部的黑盒處理

ref: 針對數組 or 對象本質就是reactive實現的,讀取值時是ref.value

另外注意一下toRefs: 針對組合函數返回響應式對對象時使用 toRefs, 本質上是幫我們做了一層getter和setter處理,解構就可以得到響應式的數據,這也就降低了一些關于ref的心智負擔

5: Vue3 響應式比 Vue2 的性能要好嗎?

vue3 出來的時候,往往聽到的一些答案都是說 Vue3 性能比 Vue2 性能好,但真的是嗎?在 Vue3 發布那一段期間中(我也去薅羊毛薅到了 1 元的源碼課解析中學習了一番:老黃 YYDS),甚至包括群里大家都在討論這個問題。

首先從實現上來講:我們都知道 vue2 中的響應式主要歸功于Object.defineProperty, 它主要劫持對象的屬性,所以它不能觀測到對象屬性的添加和刪除,而在 vue 中,是用Proxy實現的,劫持的是整個對象,能規避掉 vue2 留下的問題,但也有明顯的缺點就是兼容性不夠強。但是對比 Vue2,你需要知道的是 vue3 性能上的優勢主要還是體現在初始化階段。因為 Vue2 中定位響應式對象時,會遞歸把子對象變成響應式。而 Vue3 其實是惰性執行:在對象屬性被真正訪問的時候才會遞歸執行子對象變成響應式。

6: Vue Composition API VS React Hooks

Vue3 的Composition API和React Hooks的寫法很像,大家都會忍不住拿他們去做個對比,關于這部分內容的 PK,我司的小伙伴已經給總結過了,還很全面,這個就不細說了,傳送門:

Vue Composition API 和 React Hooks 對比:https://juejin.cn/post/6847902223918170126

除了一些常見的問題時,更重要的就是實踐,對于新項目,可以直接使用 vue3 起步,但更多的對于已有的項目,在 vue2 升級到 vue3 實踐時,肯定會踩不少坑,以下是關于在實踐過程中可能會遇到的一些注意點&坑點

1. 報錯以下警告:告知 script setup 當前仍然是個實驗性的新特性,還沒有作為正式特性發布,后面會不會有變化還不好說。

  1. [@vue/compiler-sfc] <script setup> is still an experimental proposal. 
  2. Follow its status at https://github.com/vuejs/rfcs/pull/227. 
  3.  
  4. [@vue/compiler-sfc] When using experimental features, 
  5. it is recommended to pin your vue dependencies to exact versions to avoid breakage. 
  6.  
  7. [@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported. 

2: 遷移 vue3 時,setup 中只保留了不再有once, $off 等方法,只保留了 emit,如下:

  1. setup(props, { emit }) { 
  2.     const rootRef = ref(null
  3.     const scroll = useScrolll(rootRef, props, emit) 
  4.  
  5.     return { 
  6.       rootRef, 
  7.       scroll 
  8.     } 
  9.    
  10.    
  11. // scroll.js 中 
  12. scrollVal.on('scroll', pos => { 
  13.     emit('scroll', pos) 
  14. }) 

3: 關于 computed: 3.X 把 computed 變成了一個計算屬性 API,所以可以有多個 computed,可以沿用 Vue.js 2.x 的使用方法

  1. // vue2.x 
  2. computed: { 
  3.   loading() { 
  4.     return !this.list.length 
  5.   } 
  6. }, 
  7.  
  8. // vue3.x 
  9. const loading = computed(() => !this.list.length) 
  10. const titleList = computed(() => { 
  11. return props.data.map((item) => item.title) 
  12. }) 

4: 關于 watch:對于監聽對象是分隔字符串時,需要在選項參數中指定 deep: true

  1. // vue2.x 
  2. watch: { 
  3.     'data.distance'function (newVal, oldVal) { 
  4.       if (newVal === constants.DISTANCE_ON) { 
  5.         ... 
  6.       } 
  7.     }, 
  8. }, 
  9.  
  10.  
  11. // vue3.x 
  12. watch( 
  13.    () => this.data.distance, 
  14.    (newVal, oldVal) => { 
  15.         if (newVal === constants.DISTANCE_ON) { 
  16.             ... 
  17.         } 
  18.    }, 
  19.    { deep: true }, 
  20.  ) 

5: 在 Vue3 中組件沒有filters選項,遷移過程中,可以用computed/methods替代

  1. // vue2.x 
  2. filters: { 
  3.     // just a method 
  4.     dateFormat, 
  5. }, 
  6.  
  7.  
  8. // vue3.x 
  9. const dateFormat = computed(() => { 
  10.     // just a method 
  11.     dateFormat, 
  12. }) 

可以在同一個組件上使用多個  進行雙向綁定,可以使用自定義 v-model 修飾符

6: vue3.X 中去掉了.sync,用v-model代替 并且同一個組件中不僅限于只有一個v-model

  1. // vue2.x 
  2. <basic-info-dialog :shown.sync="dialogFormVisible"
  3. <ChildComponent v-bind:name.sync="name" /> 
  4.  
  5. // vue3.x 
  6. <basic-info-dialog v-model:shown="dialogFormVisible"

總結

踩坑還在繼續,繼續實踐繼續踩!

參考資料

vue 文檔:https://vue3js.cn/docs/zh/guide/composition-api-setup.html#%E4%BD%BF%E7%94%A8%E6%B8%B2%E6%9F%93%E5%87%BD%E6%95%B0

Vue Composition API 和 React Hooks 對比:https://juejin.cn/post/6847902223918170126

前往微醫互聯網醫院在線診療平臺,快速問診,3分鐘為你找到三甲醫生。(https://wy.guahao.com/?channel=influence)

 

責任編輯:武曉燕 來源: 微醫大前端技術
相關推薦

2016-10-18 22:10:02

HTTP推送HTML

2018-06-12 15:39:41

容器部署云平臺

2009-06-12 10:25:42

Webservices

2011-05-31 17:50:07

白盒測試

2011-11-01 09:29:08

Android 4.0

2009-11-30 13:51:28

VS2003 Runt

2011-03-08 14:28:03

proftpdGentoo

2018-05-17 14:52:11

Javascripthtmlcss

2009-07-21 10:35:18

margin coll

2022-01-16 08:04:44

集群部署canal

2010-05-04 15:59:05

Oracle字符集

2009-06-10 21:46:02

JavaScript與

2012-12-19 11:40:13

思科路由器

2010-09-17 15:41:46

網絡協議分析軟件

2009-08-06 16:01:30

C#接口成員

2018-07-30 08:41:48

VueReact區別

2011-01-26 16:24:53

Sun甲骨文

2009-11-23 13:44:33

PHP5面向對象

2017-05-02 21:08:35

開發架構工程師

2021-02-06 14:25:29

Java延遲加載代碼
點贊
收藏

51CTO技術棧公眾號

久久久久久久高清| 国产精品二区在线观看| 美国黄色一级视频| 美女精品导航| 成人av在线一区二区三区| 欧美激情视频网站| 欧美xxxx×黑人性爽| 7777kkk亚洲综合欧美网站| www.av亚洲| 国产成人一区二| 亚洲女人毛茸茸高潮| 国产精品成人3p一区二区三区| 九九热爱视频精品视频| 午夜一区二区三区在线观看| 久久久久久久免费| 正在播放亚洲精品| 伊人久久大香线| 亚洲黄色av网站| 亚洲乱码日产精品bd在线观看| 亚洲成人中文字幕在线| 午夜一区二区三区不卡视频| 一区二区三区无码高清视频| 欧美污在线观看| 国产欧洲在线| 国产精品美女久久久久久久久| 91网在线免费观看| 97久久久久久久| 欧美激情另类| 亚洲国产精品字幕| www.这里只有精品| 91精品国产91久久久久久青草| 成人中文字幕合集| 国产精品一二三在线| 久久久久99精品| 成人免费a**址| 精品第一国产综合精品aⅴ| 中文字幕视频在线免费观看| 电影k8一区二区三区久久| 日本一区二区动态图| 国产aⅴ精品一区二区三区黄| 免费黄色av片| 亚洲午夜极品| 日韩中文字在线| 捆绑裸体绳奴bdsm亚洲| 99国内精品久久久久| 日韩欧美在线第一页| 欧美一级爱爱视频| 欧美三级电影一区二区三区| 99免费精品在线| 亚洲自拍偷拍福利| 中文字幕在线视频第一页| 99成人精品| 欧美精品在线免费播放| 中文字幕第69页| 精品自拍偷拍| 日韩精品一区二区三区三区免费| www.se五月| 日本肉肉一区| 色悠悠久久综合| 337p粉嫩大胆噜噜噜鲁| 91九色在线看| 亚洲一区国产视频| 成人在线免费观看网址| aⅴ在线视频男人的天堂| 久久综合九色综合欧美亚洲| 国产a一区二区| 国产 日韩 欧美 综合| 国产精品中文字幕欧美| 国产在线观看精品一区二区三区| 99久久久久久久久| 美女日韩在线中文字幕| 91av中文字幕| 天天操天天爽天天干| 一区在线观看| 韩国精品美女www爽爽爽视频| 强行糟蹋人妻hd中文| 中文字幕一区二区精品区| 久热在线中文字幕色999舞| 1024在线看片| 久久中文字幕av| 色偷偷9999www| 99久久久无码国产精品不卡| 99久久亚洲精品蜜臀| 久久久精品亚洲| 麻豆changesxxx国产| 好看的日韩av电影| 欧美亚洲第一区| 人妻丰满熟妇av无码区| 久久久久在线| 国产乱肥老妇国产一区二| 一区二区三区免费在线| 国产又黄又大久久| 裸体在线国模精品偷拍| 在线观看91久久久久久| jizzjizz日本少妇| 中文在线日韩| 午夜精品久久久久久久久久久久| 日韩av在线播放观看| 亚洲男女自偷自拍| 国产精品日韩欧美大师| 99精品久久久久久中文字幕 | 亚洲精品ady| 亚洲制服丝袜在线播放| 国产成人久久| 欧美一区二区福利在线| 国产精品成人无码专区| 国产区精品区| 欧美大片va欧美在线播放| 国产性一乱一性一伧一色| 午夜在线a亚洲v天堂网2018| 2018日韩中文字幕| 一级黄色片免费| 成人av影院在线| 国产日韩精品一区二区三区 | 日本高清www免费视频| 噜噜噜在线观看免费视频日韩| 国产精品福利片| 99久久精品国产成人一区二区| 成人国产视频在线观看| 视频一区国产精品| 四虎影院观看视频在线观看| 欧美午夜精品久久久久久浪潮| 日本黄大片一区二区三区| 国产精品chinese在线观看| 伊人成人开心激情综合网| 蜜桃av.com| 99pao成人国产永久免费视频| 国产精品视频永久免费播放| 亚洲精品国产suv一区| 国产精品久久久久永久免费观看 | 国产综合久久久久久鬼色| 欧洲精品码一区二区三区免费看| 爱情岛论坛亚洲品质自拍视频网站| 欧美伦理视频网站| 微拍福利一区二区| 亚洲欧美卡通另类91av| 国产精品自拍首页| 美女91在线| 日韩一区二区三区四区五区六区 | 日本毛片在线观看| 一区二区三区精品在线| 向日葵污视频在线观看| 国产成人精品999在线观看| 欧美一级淫片aaaaaaa视频| 狠狠躁日日躁夜夜躁av| 亚洲精品成人精品456| 手机在线国产视频| 小说区亚洲自拍另类图片专区| 国产精品va在线播放| 国产专区在线播放| 色猫猫国产区一区二在线视频| 艳妇乳肉亭妇荡乳av| 99国产精品视频免费观看一公开 | 男插女视频网站| 亚洲xxx拳头交| 成人免费看吃奶视频网站| h视频在线观看免费| 91国产精品成人| 1024手机在线观看你懂的| 免费在线视频一区| 制服丝袜综合日韩欧美| 日韩免费在线电影| 久久成人亚洲精品| 亚洲精品免费在线观看视频| 亚洲午夜免费福利视频| 日本一区二区在线免费观看| 国产欧美欧美| 日韩国产高清一区| 日韩三级一区| 欧美国产精品va在线观看| 亚洲免费视频网| 丁香五六月婷婷久久激情| jizz中文字幕| 黑人精品欧美一区二区蜜桃| 成人av在线播放观看| 加勒比色老久久爱综合网| 欧美亚洲一级片| av在线日韩国产精品| 欧美日韩视频第一区| 婷婷久久综合网| 不卡视频一二三| 欧美精品成人网| 亚洲91视频| 久久99精品久久久水蜜桃| 久久99久久99精品免观看软件| 日韩中文字幕在线看| 风流少妇一区二区三区91| 色综合久久久久网| 长河落日免费高清观看| 懂色中文一区二区在线播放| 欧美黄网站在线观看| 久久大综合网| 国产精品日韩欧美一区二区三区 | 成人免费网视频| 波多野结依一区| 色噜噜狠狠狠综合曰曰曰| 人妻无码中文字幕| 欧美日韩在线精品一区二区三区激情| 精品99久久久久成人网站免费 | 蜜臀91精品一区二区三区| www.激情网| 成人中文视频| 黄色小网站91| a屁视频一区二区三区四区| 欧美高清自拍一区| 日本在线播放| 亚洲精品成人久久| 91精品国产乱码久久久久| 天天色天天爱天天射综合| 成人黄色短视频| 2020国产精品自拍| 精品无码av一区二区三区不卡| 日韩avvvv在线播放| 日韩欧美不卡在线| 我不卡神马影院| 欧美午夜精品久久久久久蜜| 亚洲视频精选| 91美女高潮出水| а√天堂资源国产精品| 91av在线免费观看| av资源在线| 欧美成人精品激情在线观看| 成人影院免费观看| 日韩精品一区二区三区第95| 不卡视频免费在线观看| 欧美老年两性高潮| 在线观看国产区| 日韩欧美国产视频| 日韩免费一级片| 亚洲精品成人悠悠色影视| 天堂av免费在线| 成码无人av片在线观看网站| 欧美一级专区免费大片| 在线观看黄色国产| 欧美午夜精品理论片a级按摩| 亚洲精品男人的天堂| 午夜精品久久久久| 久草视频免费在线| 亚洲一区二区高清| 久久久久久久国产精品毛片| 亚洲人成网站精品片在线观看| 国产人与禽zoz0性伦| 国产精品的网站| 天天色天天综合| 国产精品久久久一本精品| 又色又爽的视频| 中文字幕亚洲精品在线观看| 免费看日本黄色片| 中文字幕第一区综合| 久久久久久国产免费a片| 国产婷婷色一区二区三区在线| 日韩精品卡通动漫网站| 91老师片黄在线观看| 免费中文字幕av| 久久女同精品一区二区| 一区二区黄色片| 国产欧美一区视频| 日本黄色激情视频| 亚洲同性同志一二三专区| 欧美激情精品久久久久久免费| 亚洲天堂2016| 精品午夜福利在线观看| 亚洲v日本v欧美v久久精品| 97免费在线观看视频| 色婷婷一区二区三区四区| 欧美成人一区二区视频| 欧美剧情片在线观看| 亚洲第一成人av| 亚洲精品成人久久电影| 成人高清网站| 久久精品一本久久99精品| 婷婷在线播放| 51色欧美片视频在线观看| 国产精品字幕| 成人性生交大片免费看视频直播| 一区二区三区四区视频免费观看| 国产98在线|日韩| 青青操综合网| 亚洲一二区在线| 欧美二区视频| 国产精品va无码一区二区| 丝袜诱惑制服诱惑色一区在线观看 | 欧美黄免费看| 国产二区视频在线播放| 蜜臀久久久久久久| 超级砰砰砰97免费观看最新一期| 99久久精品免费看国产免费软件| 欧美性猛交xxxx乱| 亚洲欧美综合色| 国产黄色片视频| 91久久一区二区| 精品国自产拍在线观看| 日韩精品久久久久| 黄色网页在线看| 91av在线看| 日韩精品一区二区三区免费视频| 欧美精品尤物在线| 欧美黄色大片网站| 老熟妇仑乱视频一区二区| 国产成人亚洲综合a∨婷婷| 中文字幕第4页| 亚洲成人免费在线| 中国一区二区视频| 亚洲国产一区自拍| 国产在线激情| 日韩女优在线播放| 超碰成人在线观看| 一区二区在线中文字幕电影视频| 亚洲一区二区三区免费在线观看 | 黄色成人在线观看网站| 国产精品久久国产精品| 91综合在线| 日韩精品一区二区三区色欲av| 国产麻豆一精品一av一免费| 少妇大叫太粗太大爽一区二区| 樱桃视频在线观看一区| 中文字幕永久免费视频| 亚洲精品国产精品国产自| a级网站在线播放| 国产精品久久久久秋霞鲁丝| 欧美激情久久久久久久久久久| 四虎4hu永久免费入口| 久久精品国产精品亚洲精品| 播金莲一级淫片aaaaaaa| 亚洲高清不卡在线| 国产情侣一区二区| 色老头一区二区三区在线观看| 国精产品一区二区三区有限公司| 国产一区二区无遮挡| 欧美亚韩一区| 又黄又爽又色的视频| 亚洲欧洲99久久| 91精品国产乱码久久| 自拍偷拍亚洲精品| 日本一区二区电影| 欧美日韩国产精品一卡| 亚洲免费中文| 丰满少妇在线观看资源站| 亚洲成av人片一区二区三区| 亚洲奶汁xxxx哺乳期| 欧美精品久久久久久久免费观看| 欧美日韩黄色| 国产系列第一页| 国产在线视频精品一区| 三级黄色免费观看| 欧美电影一区二区三区| 欧美激情黑人| 91在线看www| 亚洲视频电影在线| 中文字幕55页| 亚洲最色的网站| 草逼视频免费看| 久久人人看视频| 欧美人妖视频| 逼特逼视频在线| 国产亚洲成av人在线观看导航| 久久99国产综合精品免费| 亚洲美女视频网| 日本一区免费网站| 国产精品jizz在线观看老狼| 狠狠色综合播放一区二区| 黄色一级免费视频| 精品成a人在线观看| 樱花草涩涩www在线播放| 欧美激情一区二区三区在线视频| 久久影院亚洲| 亚洲综合图片一区| 日韩一区二区麻豆国产| 国产黄色大片在线观看| 久久精品美女| 奇米888四色在线精品| 91插插插插插插| 亚洲高清不卡av| 666av成人影院在线观看| 亚洲制服中文| 岛国一区二区三区| 麻豆成人免费视频| 日韩亚洲欧美成人| 2023国产精华国产精品| 久久久噜噜噜www成人网| 国产精品久久777777| 亚洲va天堂va欧美ⅴa在线| 欧美专区日韩视频| 99成人在线视频| 国产艳妇疯狂做爰视频| 色偷偷一区二区三区| 日本电影在线观看网站| 超碰97在线播放| 日韩精品亚洲一区二区三区免费| 秋霞欧美一区二区三区视频免费| 日韩你懂的在线观看| 高清成人在线| 天天成人综合网| 26uuu色噜噜精品一区二区| 亚洲中文字幕在线一区| 91精品国产色综合久久不卡98| av中字幕久久| 国产一级黄色录像| 欧美日韩亚洲综合在线| 激情国产在线|