最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3 Vant組件庫使用過程中的避坑點(diǎn)

 更新時(shí)間:2023年04月06日 10:12:36   作者:菜雞愛上編程  
本片文章主要寫了,Vue3開發(fā)時(shí)運(yùn)用Vant UI庫的一些避坑點(diǎn)。讓有問題的小伙伴可以快速了解是為什么。也是給自己做一個(gè)記錄

一、問題

vue3版本使用vant失敗,具體是在使用組件時(shí)失效。

具體實(shí)例:Vue版本3 - Vant版本4

根據(jù)Vant官方文檔可以知道使用組件應(yīng)該這樣引入使用

import {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E--> Button } from 'vant';
<van-button type="primary">主要按鈕</van-button>

但是我在實(shí)際根據(jù)官方文檔使用卻發(fā)現(xiàn)無法生效:

源代碼:

<template>
  <van-button @click="testClick" type="primary">主要按鈕{{ show }}</van-button>
</template>
<script lang="ts" setup>
	import { ref } from 'vue'
	import {
	  Button
	} from 'vant'
	import 'vant/es/button/style';
	const show = ref(false);
	const testClick = () => {
	  show.value = !show.value
	};
</script>

實(shí)際發(fā)現(xiàn),所有的樣式都沒有生效,但是點(diǎn)擊事件可以正常點(diǎn)擊,然后我們打開控制臺(tái),可以看到組件并沒有被正常的編譯成普通的div元素,所以Vant并沒有生效。

會(huì)不會(huì)是不支持語法糖這種寫法呢。然后換成官方提供的另一種寫法再試試。

<script lang="ts">
	import { ref } from 'vue'
	import {
	  Button
	} from 'vant'
	import 'vant/es/button/style';
	export default {
	  components: {
	    [Button.name]: Button,
	  },
	  setup() {
	    const show = ref<boolean>(false);
	    const testClick =()=> {
	      show.value = !show.value
	    }
	    return {
	      show,
	      testClick 
	    }
	  }
	}
</script>

去掉語法糖的寫法,ui效果可以正常顯示了

那么問題來了為什么換成這種語法糖的這種寫法就不行了呢。

1、是不是版本不對(duì)的問題呢,然后降級(jí),把Vant版本降為3版本再試試還是不行,這里就不演示了,有空的小伙伴可以去試試。

既然問題不是版本問題,那就還是在組件使用上有問題。

二、解決方法

1、如何找到解決辦法

可以觀察到,語法糖的形式,在引入組件的方式上,少了注冊(cè)組件的這一步,因?yàn)檎Z法糖的寫法,會(huì)自動(dòng)注冊(cè)不需要手動(dòng)注冊(cè)組件。

我們可以看到我們從Vant導(dǎo)入的是Button組件,但是使用的時(shí)候用的是<van-button/>是不是組件名稱使用錯(cuò)誤的問題呢。我們把組件名改成<Button/>試試

<template>
  <Button @click="testClick" type="primary">主要按鈕{{ show }}</Button>
</template>

組件正常被編譯了:

果然是組件名字錯(cuò)誤了,醉了,那么vant官方文檔那么寫的原因可能就是為了突出是自家組件所以前面加了前綴<@_@>!??!

既然原因找到了,那么同樣就知道怎么同樣引入Button組件還可以使用<van-button/>的寫法,可以使用組件別名。

import {
  Button as VanButton
} from 'vant'

這樣再使用<van-button/>就沒有問題了。

三、問題出現(xiàn)原因

1、一個(gè)是對(duì)組件注冊(cè)概念不清晰,誤認(rèn)為名稱不匹配,是Vant官方提供的能力,可以直接使用,所以沒去思考名稱錯(cuò)誤問題。

2、太依賴Vant文檔。想當(dāng)然可以直接拿來用

總結(jié)經(jīng)驗(yàn)教訓(xùn)

還是應(yīng)該經(jīng)常去看vue官方文檔去鞏固基礎(chǔ)知識(shí)點(diǎn)。就會(huì)避免這種問題。還有就是被文檔誤導(dǎo)。垃圾

到此這篇關(guān)于Vue3 Vant組件庫使用過程中的避坑點(diǎn)的文章就介紹到這了,更多相關(guān)Vue3 Vant組件庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

隆化县| 巴彦县| 珲春市| 白河县| 阿城市| 南投市| 迁安市| 大宁县| 英吉沙县| 沂源县| 洛隆县| 美姑县| 枣阳市| 松阳县| 安庆市| 新竹市| 吉木萨尔县| 贵南县| 沙湾县| 浪卡子县| 康平县| 唐山市| 华坪县| 吴川市| 三河市| 蒲城县| 邵阳县| 柯坪县| 澄江县| 武强县| 开化县| 阜城县| 信阳市| 吉隆县| 建湖县| 措美县| 调兵山市| 临沂市| 雅安市| 札达县| 红桥区|