日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解vue3中組件的非兼容變更

瀏覽:22日期:2022-10-04 11:39:08
函數(shù)式組件

functional attribute 在單文件組件 (SFC) <template> 已被移除{ functional: true } 選項在通過函數(shù)創(chuàng)建組件已被移除

// 使用 <dynamic-heading> 組件,負責提供適當?shù)臉祟} (即:h1,h2,h3,等等),在 2.x 中,這可能是作為單個文件組件編寫的:// Vue 2 函數(shù)式組件示例export default { functional: true, props: [’level’], render(h, { props, data, children }) { return h(`h${props.level}`, data, children) }}// Vue 2 函數(shù)式組件示例使用 <template><template functional> <component :is='`h${props.level}`' v-bind='attrs' v-on='listeners' /></template><script>export default { props: [’level’]}</script>

現(xiàn)在在 Vue 3 中,所有的函數(shù)式組件都是用普通函數(shù)創(chuàng)建的,換句話說,不需要定義 { functional: true } 組件選項。他們將接收兩個參數(shù):props 和 context。context 參數(shù)是一個對象,包含組件的 attrs,slots,和 emit property。此外,現(xiàn)在不是在 render 函數(shù)中隱式提供 h,而是全局導入 h。使用前面提到的 <dynamic-heading> 組件的示例,下面是它現(xiàn)在的樣子。

// vue3.0import { h } from ’vue’const DynamicHeading = (props, context) => { return h(`h${props.level}`, context.attrs, context.slots)}DynamicHeading.props = [’level’]export default DynamicHeading// vue3.0單文件寫法<template> <component v-bind:is='`h${$props.level}`' v-bind='$attrs' /></template><script>export default { props: [’level’]}</script>

主要區(qū)別在于

functional attribute 在 <template> 中移除listeners 現(xiàn)在作為 $attrs 的一部分傳遞,可以將其刪除異步組件的寫法與defineAsyncComponent方法

現(xiàn)在使用defineAsyncComponent助手方法,用于顯示的定義異步組件component選項重命名為loaderLoader函數(shù)本身不再接受resolve和rejuct參數(shù),必須返回一個Promise

// vue2.x// 以前異步組件是通過將組件定義為返回Promise的函數(shù)來創(chuàng)建const asyncPage = () => import(’./NextPage.vue’)// 或者以選項方式創(chuàng)建const asyncPage = { component: () => import(’./NextPage.vue’), delay: 200, timeout: 3000, error: ErrorComponent, loading: LoadingComponent}// vue3.x在vue3.x中,需要使用defineAsyncComponent來定義import{ defineAsyncComponent } from ’vue’import ErrorComponent from ’./components/ErrorComponent.vue’import LoadingComponent from ’./components/LoadingComponent.vue’// 不帶選項的定義方法const asyncPage = defineAsyncComponent(() => import(’./NextPage.vue’))// 帶選項的異步組件constasyncPageWithOptions = defineAsyncCopmonent({ loader: () => import(’./NextPage.vue’), delay: 200, timeout: 3000, errorComponent: ErrorComponent, LoadingComponent: LoadingComponent})

loader函數(shù)不再接收resolve和reject參數(shù),且必須始終返回Promise

// vue2.xconst oldAsyncComponent = (resolve, reject) => {}// vue3.xconst asyncComponent = defineAsyncComponent(() => new Promise((resolve, reject) => {}))組件事件需要在emits選項中聲明

vue3中現(xiàn)在提供了一個emits選項,類似props選項此選項可以用于定義組件向其父對象發(fā)出的事件

<!-- vue2.x --><template> <div> <p>{{ text }}</p> <button v-on:click='$emit(’accepted’)'>OK</button> </div></template><script> export default { props: [’text’] }</script><!-- vue3.x --><!-- 現(xiàn)在和prop類似,可以用emits來定義組件發(fā)出的事件 --><!-- 這個選項還接收已給對象,用來向props一樣對傳遞的參數(shù)進行驗證 --><!-- 強烈建議記錄下每個組件發(fā)出的所有emits,因為去掉了.native修飾符,未使用聲明的事件的所有監(jiān)聽器都將包含在組建的$attr中,默認情況下,該監(jiān)聽器將綁定到組件的根節(jié)點 --><template> <div> <p>{{ text }}</p> <button v-on:click='$emit(’accepted’)'>OK</button> </div></template><script> export default { props: [’text’], emits: [’accepted’] }</script>

以上就是詳解vue3中組件的非兼容變更的詳細內容,更多關于vue3中組件的非兼容變更的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区中文| 国产精品久久久久9999高清| 高清一区二区| 欧美国产专区| 精品国产一级| 五月天av在线| 久久精品国产99久久| 欧美亚洲在线日韩| 欧美日韩激情在线一区二区三区| 蜜桃一区二区三区| 宅男噜噜噜66国产日韩在线观看| 爽好久久久欧美精品| 亚洲tv在线| 国产精品porn| 欧美freesex黑人又粗又大| 999国产精品视频| 欧美日韩国产探花| 久久都是精品| 青青青国产精品| 久久久久久亚洲精品美女| 欧美激情国产在线| 欧美日韩国产免费观看视频| 中文字幕av一区二区三区四区| 欧美中文一区| 成人黄色av| 在线亚洲一区| 国产精品v亚洲精品v日韩精品| 人在线成免费视频| 欧美日韩视频| 日韩二区在线观看| 精品国产中文字幕第一页| 成人福利视频| 宅男噜噜噜66国产日韩在线观看| 日韩av不卡在线观看| 精品国产a一区二区三区v免费| 成人自拍av| 亚洲毛片视频| 国产成人精品免费视| 黄色成人在线网址| 日韩av不卡一区二区| 日韩免费视频| 亚洲精品大全| 日韩av免费大片| 久久福利毛片| 精品一级视频| 亚洲免费精品| 国产精品s色| 欧美成人国产| 日本午夜精品视频在线观看| 91一区二区| 亚洲有吗中文字幕| 国产不卡一区| 日日摸夜夜添夜夜添国产精品| 日韩综合在线| 亚洲日本久久| 国产91精品对白在线播放| 日本成人中文字幕| 在线观看精品| 国产亚洲欧美日韩精品一区二区三区 | 免费精品国产| 欧美一区免费| 亚洲成人一区| 国产精品久久久久久久久久齐齐 | 亚洲天堂免费| 国产中文在线播放| 少妇高潮一区二区三区99| 国产不卡人人| 日本不卡视频一二三区| 久久久天天操| 久久精品国产精品亚洲毛片| 午夜在线一区| 在线精品亚洲欧美日韩国产| 亚洲免费专区| 久久精品播放| 国产a亚洲精品| 亚洲精品大全| 国产一区导航| 老鸭窝一区二区久久精品| 亚洲综合精品| 欧美日韩国产v| 久久香蕉精品香蕉| 日韩 欧美一区二区三区| 欧美日韩水蜜桃| 久久99免费视频| 亚洲精品一二三**| 欧美成人高清| 日韩欧美精品| 欧美91在线| 日韩精品欧美成人高清一区二区| 婷婷激情综合| 欧美日韩尤物久久| 成人在线视频区| 欧美偷窥清纯综合图区| 亚洲免费影院| 国产一区欧美| 日韩精品一区二区三区免费观影 | 久久久久久色| 蜜臀av性久久久久蜜臀aⅴ流畅| 夜鲁夜鲁夜鲁视频在线播放| 国产精品视频3p| 日韩精品福利一区二区三区| 丝袜a∨在线一区二区三区不卡| 成人看片网站| 日韩黄色大片网站| 精品国产精品久久一区免费式 | 在线日韩视频| 美女福利一区二区三区| 国产精品扒开腿做爽爽爽软件| 日韩不卡一区二区| 日韩一区二区三区在线看| 午夜在线一区| 亚洲一区二区三区高清| 成人羞羞视频播放网站| 国产精品色在线网站| 亚洲无线观看| 日韩在线卡一卡二| 免费在线看一区| 欧美日韩免费观看一区=区三区| 久久高清精品| 91精品一区国产高清在线gif| 日韩电影在线视频| 精品欧美一区二区三区在线观看| 久久久久免费| 婷婷综合六月| 91精品亚洲| 美女久久久久| 亚洲在线国产日韩欧美| 亚洲免费一区二区| 免费人成网站在线观看欧美高清| 免费视频最近日韩| 日韩精品福利一区二区三区| 91综合久久爱com| 欧美偷窥清纯综合图区| 国产精品1区在线| 色婷婷亚洲mv天堂mv在影片| 中文字幕在线官网| 欧美日韩一区二区综合| 国产精品人人爽人人做我的可爱| 国产视频一区三区| 亚洲欧美日本国产| 国产精品乱战久久久| 精品美女在线视频| 欧美日韩免费观看视频| 婷婷综合在线| 免费视频一区二区| 欧美视频精品全部免费观看| 国产精品扒开腿做爽爽爽软件| 国产一区二区久久久久| sm捆绑调教国产免费网站在线观看| 色爱av综合网| 丝袜a∨在线一区二区三区不卡| 亚洲精品自拍| 麻豆一区二区99久久久久| a国产在线视频| 黄色国产精品| 天堂va欧美ⅴa亚洲va一国产| 国产精品流白浆在线观看| 视频在线不卡免费观看| 日韩一区二区三区免费| 老鸭窝毛片一区二区三区| 久久精品97| 日韩欧美另类一区二区| 免费人成网站在线观看欧美高清| 国产欧美一区二区精品久久久 | 亚洲v在线看| 亚洲视频二区| 免费一级欧美片在线观看网站 | 婷婷成人综合| 色8久久久久| 精品国产欧美| 亚洲欧美日韩在线观看a三区| 国产亚洲欧美日韩精品一区二区三区 | 激情久久久久久久| 亚洲精品系列| 日韩电影免费网址| 蜜臀精品一区二区三区在线观看| 免费一级欧美片在线观看网站| 亚洲国产影院| 国产麻豆一区二区三区精品视频| 日韩一区二区三区免费| 日韩国产在线观看一区| 日韩国产专区| 亚州av日韩av| 亚洲精品在线影院| 日本不卡一区二区| 久久久久久免费视频| 日韩不卡手机在线v区| 91精品综合| 国产精品色在线网站| 99视频在线精品国自产拍免费观看| 国产精品黄色片| 亚洲综合日本| 日韩中文字幕高清在线观看| 7m精品国产导航在线| 免费国产自久久久久三四区久久 | 在线中文字幕播放| 日韩在线观看一区二区| 欧美少妇精品| 国产精品亚洲综合色区韩国| 午夜久久一区|