精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

风间由美性色一区二区三区四区| 午夜在线视频| 99在线热播精品免费99热| 亚洲精品久久久久久久久久久久久| 能在线观看的av| 日本在线免费| 成人福利视频在线| 国产精品成人av在线| 紧身裙女教师波多野结衣| 欧美a大片欧美片| 欧美日韩国产综合视频在线观看| 人妻无码一区二区三区四区| 九色网友自拍视频手机在线| www夜片内射视频日韩精品成人| 奇米狠狠一区二区三区| 欧美一区午夜精品| 无遮挡又爽又刺激的视频| caoporn免费在线| 国产午夜久久久久| 国产精品福利视频| 国产一级精品毛片| 亚洲国产免费| 久久伊人91精品综合网站| 香蕉视频黄色在线观看| 日韩激情精品| 欧美日韩亚洲综合一区| 国产高清精品在线观看| av激情在线| 国产精品理论片| 牛人盗摄一区二区三区视频| 亚洲精品无码久久久| 蜜桃精品视频在线观看| 欧美综合国产精品久久丁香| 久久久久久久久久久网 | 亚洲午夜精品久久久久久高潮| 91成人在线精品视频| 欧美日韩精品系列| 五月婷婷深爱五月| 在线高清av| 午夜精品福利视频网站| 日韩久久久久久久久久久久| dy888亚洲精品一区二区三区| 国产精品色婷婷久久58| 日本视频一区二区不卡| 欧美孕妇性xxxⅹ精品hd| 成人免费毛片a| 国产精品国产三级欧美二区| www.久久久久久| 国产一区二区影院| 日韩av中文字幕一区二区三区 | 成人免费观看网站| 99在线观看免费| 激情亚洲综合在线| 国产在线观看精品| 91精品视频免费在线观看| 麻豆精品新av中文字幕| 国产精品入口免费视频一| 中文字幕在线播放av| 日韩电影免费在线| 国产精品久久久久久久久久东京 | 韩国三级电影一区二区| 国产在线观看精品一区二区三区| 91美女精品网站| 国产一区999| 成人av免费看| 神马精品久久| 日本一区二区三级电影在线观看| 亚洲国产激情一区二区三区| 免费看美女视频在线网站| ...xxx性欧美| 91动漫在线看| 91av亚洲| 欧美日韩mp4| 两女双腿交缠激烈磨豆腐| 91午夜精品| 亚洲欧美国产精品| 亚洲欧美卡通动漫| 欧美日韩精品一本二本三本| 91精品国产777在线观看| 国产伦精品一区二区三区视频网站| 日韩不卡在线观看日韩不卡视频| 91精品久久久久久久久久另类| 国产视频在线观看免费| gogo大胆日本视频一区| 青青草原亚洲| 91精品久久| 欧美性猛交xxxx乱大交极品| 亚洲欧美偷拍另类| 激情小说亚洲图片| 在线观看久久久久久| 内射一区二区三区| 99日韩精品| 91精品美女在线| 天堂在线视频免费观看| 日本一区二区在线不卡| 正在播放国产精品| 日韩大片免费观看| 欧美精选一区二区| 无码人妻精品一区二区三区温州| 青青草91久久久久久久久| 色综合久久久久久中文网| 国产精品免费精品一区| 国产一区二区三区美女| 欧美日韩一区二区三区免费| www红色一片_亚洲成a人片在线观看_| 午夜精品123| 日本r级电影在线观看| 久久超碰99| 九色精品免费永久在线| 一区二区视频网| 成人av网站大全| 2025韩国大尺度电影| 波多野结衣久久精品| 日韩欧美一级在线播放| 91成人精品一区二区| 9国产精品视频| 亚洲xxx视频| 香蕉视频在线播放| 在线影视一区二区三区| 好男人香蕉影院| 欧美一区二区三区另类| 国产精品日本精品| 欧美xxx.com| 亚洲1区2区3区4区| 99久久综合网| 午夜精品毛片| 国产欧美婷婷中文| 黄色片在线免费看| 欧美日韩国产综合新一区| 亚洲国产综合av| 亚洲欧美网站在线观看| 国产精品私拍pans大尺度在线| 三级视频网站在线| 婷婷开心久久网| 制服丝袜在线第一页| 欧美有码视频| 91文字幕巨乱亚洲香蕉| 成人免费观看视频大全| 欧美日韩国产三级| 538精品视频| 丝袜国产日韩另类美女| 日本一区二区久久精品| 久久久成人av毛片免费观看| 亚洲天堂av在线免费| 亚洲 日本 欧美 中文幕| 久久亚洲综合av| 黑鬼大战白妞高潮喷白浆| 欧美日韩一本| 日本精品va在线观看| 日本又骚又刺激的视频在线观看| 欧美午夜激情小视频| 欧美无人区码suv| 麻豆久久精品| 日韩一区不卡| 人人玩人人添人人澡欧美| 久久精品国产精品亚洲| 国产精品毛片一区视频播| 亚洲三级视频在线观看| 精品久久久久久无码人妻| 狠狠爱www人成狠狠爱综合网| 国产精品一区二区三区不卡| 色戒汤唯在线| 亚洲片国产一区一级在线观看| 久久永久免费视频| 亚洲国产成人私人影院tom| 中文字幕第88页| 欧美a级片网站| 国产日韩精品一区观看| 日韩欧美一中文字暮专区| 亚洲欧洲中文天堂| 国产又粗又猛又爽又黄的| 亚洲精品国产视频| 欧美xxxx×黑人性爽| 国产精品久久久亚洲一区| 少妇免费毛片久久久久久久久| 日韩五码电影| 97精品国产97久久久久久| 男人天堂综合| 91精品综合久久久久久| 久久精品久久国产| 国产亚洲欧美日韩俺去了| 天堂在线中文在线| 日韩视频一区二区三区在线播放免费观看| 精品国产区在线| 成人综合网站| 欧美精品久久久久久久久久| 人成在线免费视频| 777亚洲妇女| 91午夜视频在线观看| 国产精品蜜臀av| www.男人天堂| 久久丁香综合五月国产三级网站| www.av蜜桃| 久久精品国产亚洲夜色av网站| 国产欧美日韩一区| 日韩成人免费av| 777国产偷窥盗摄精品视频| 1769在线观看| 日韩av在线最新| 国产精品久久久久久无人区| 福利精品视频在线| 538精品在线观看| 日本一区二区三区在线不卡| 午夜视频在线观看国产| 国产一区久久久| 苍井空浴缸大战猛男120分钟| 国产精品mm| 亚洲一二区在线| 亚洲人成网站77777在线观看| 爱情岛论坛亚洲入口| 99精品国自产在线| 57pao成人国产永久免费| 在线h片观看| 日韩中文有码在线视频| 青青草免费在线| 亚洲精品一区二区在线观看| 国产农村老头老太视频| 欧洲精品在线观看| 国产精品第5页| 偷拍与自拍一区| 久久久久久久久97| 亚洲男人的天堂av| 女人18毛片毛片毛片毛片区二| 久久久亚洲精品一区二区三区| 高清中文字幕mv的电影| 国产精品系列在线观看| 无尽裸体动漫2d在线观看| 天堂va蜜桃一区二区三区漫画版| 丝袜人妻一区二区三区| 中文字幕亚洲综合久久五月天色无吗'' | 黄色大片中文字幕| 午夜欧美精品| 国产树林野战在线播放| 国产韩国精品一区二区三区| 亚洲国产一区二区三区在线| 国产精品亚洲人成在99www| 欧美不卡在线一区二区三区| 国偷自产视频一区二区久| 99精品国产高清一区二区| 亚洲精品一区在线| 超碰97在线资源| 999久久久精品一区二区| 51成人做爰www免费看网站| 成人51免费| 91在线中文字幕| 国产剧情一区二区在线观看| 亚洲jizzjizz日本少妇| 免费精品一区二区三区在线观看| 91久久国产婷婷一区二区| 不卡精品视频| 成人午夜一级二级三级| 久久免费福利| 国产精品推荐精品| 久久99精品国产自在现线| 激情小说综合网| 久久爱www成人| 午夜视频久久久| 99精品视频精品精品视频| 国产欧美综合一区| 狠狠88综合久久久久综合网| 91丨porny丨探花| 亚洲欧美日韩专区| 免费看黄色一级大片| 美女一区二区久久| 99999精品| 成人av资源网站| 免费在线观看你懂的| 国产精品剧情在线亚洲| 欧美日韩人妻精品一区二区三区| 亚洲午夜激情av| 亚洲天堂视频网站| 欧美日韩情趣电影| 成人激情四射网| 亚洲毛片在线看| 国产色在线观看| 韩剧1988在线观看免费完整版| 国产高清不卡| 成人性教育视频在线观看| 国产精品白丝av嫩草影院| 欧美午夜视频在线| 亚洲天天影视网| 国产午夜福利视频在线观看| 美国毛片一区二区| 亚洲欧美高清在线| 国产午夜亚洲精品羞羞网站| 欧美人与禽zozzo禽性配| 欧美日韩在线视频首页| 亚洲专区在线播放| 亚洲成人网av| 乱人伦中文视频在线| 久久91超碰青草是什么| 国产综合色区在线观看| 亚洲影院污污.| 神马影视一区二区| 成人在线播放网址| 久久99热这里只有精品| 国产又爽又黄无码无遮挡在线观看| 亚洲天堂福利av| 男人天堂av在线播放| 欧美大片国产精品| 77导航福利在线| 欧美一级电影免费在线观看| 视频欧美一区| 亚洲激情图片| 国产精品久久久久久久久久妞妞 | 牛牛影视久久网| 黄色www在线观看| 日韩精品色哟哟| 苍井空张开腿实干12次| 国产精品国产三级国产普通话三级| 亚洲国产精品成人无久久精品| 在线成人小视频| av在线收看| 国产成一区二区| 婷婷精品在线| 亚洲精品无码国产| 国产成人啪免费观看软件 | 中文字幕一区二区三区欧美日韩| 99视频在线免费| 99精品国产热久久91蜜凸| 青娱乐国产在线| 欧美精品aⅴ在线视频| 99青草视频在线播放视| 日本精品视频网站| 欧美亚洲tv| 日韩xxxx视频| 国产99久久久国产精品免费看| 少妇人妻丰满做爰xxx| 欧美日韩国产高清一区二区三区| 国产视频第一页在线观看| 欧洲日韩成人av| 偷拍自拍亚洲色图| 99热在线这里只有精品| aaa亚洲精品| 九九九国产视频| 亚洲激情电影中文字幕| 国产探花视频在线观看| 国产高清精品一区二区| 欧美精品一线| 美女扒开腿免费视频| 五月婷婷另类国产| 亚洲欧美色视频| 51午夜精品视频| 国产综合久久久| 91日韩视频在线观看| 国产精品久久毛片av大全日韩| 亚洲一区二区三区高清视频| 日韩在线观看免费全| 爱情电影网av一区二区| 成人av在线播放观看| 粉嫩久久99精品久久久久久夜| 日本学生初尝黑人巨免费视频| 亚洲国产精品一区二区久| 在线观看福利电影| 日韩成人av网站| 久久se精品一区精品二区| 91麻豆精品成人一区二区| 日韩亚洲国产中文字幕欧美| 国产高清在线a视频大全| 激情久久av| 日本在线观看不卡视频| 欧美a级片免费看| 日韩一区二区三区免费看| 电影k8一区二区三区久久| 蜜桃传媒视频第一区入口在线看| 日韩精品国产精品| 91日韩中文字幕| 亚洲国产一区自拍| 天天综合网天天| 一级黄色录像免费看| 99综合电影在线视频| 一级黄色在线观看| 美女av一区二区三区| 欧美日韩另类图片| 一个色综合久久| 亚洲第一激情av| 国外av在线| 91九色露脸| 久久精品亚洲一区二区| 欧美爱爱免费视频| 日韩精品中文字幕在线播放| 久久天天久久| 久久国产精品视频在线观看| 国产精品理论在线观看| 日韩在线观看视频一区| 国产精品久久久久久久7电影| 欧美日韩一卡| 国产真人做爰视频免费| 日韩你懂的电影在线观看| 综合另类专区| avav在线播放| 中文字幕欧美三区| 天堂中文在线观看视频| 国产精品视频yy9099| 亚洲视频福利| 国产一二三av| 亚洲精品资源美女情侣酒店| 日韩中文字幕| www.com黄色片| 日韩欧美国产高清91|