欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue3中的useAttrs和props的區(qū)別解析

 更新時間:2023年09月02日 11:32:10   作者:A黃俊輝A  
在vue3中,?提供了一個?useAttrs?的方法它接收到的參數(shù)一?prop中可以接收到的數(shù)據(jù)是基本一樣的如果我們想自已寫一個組件,?把?elementPlus?中的期中一個組件封裝一下,這篇文章主要介紹了vue3中的useAttrs和props的區(qū)別,需要的朋友可以參考下

vue3中的useAttrs和props的區(qū)別

在vue3中, 提供了一個 useAttrs 的方法它接收到的參數(shù)一 prop中可以接收到的數(shù)據(jù)是基本一樣的如果我們想自已寫一個組件, 把 elementPlus 中的期中一個組件封裝一下??梢赃@樣做

1.新建一個 自定義組件 myBtnCom

<template>
  <div class="mybuttonwrapper">
    <el-button :="$attrs">Success</el-button>
  </div>
</template>
<script setup>
</script>

從上面的代碼中, 我們可以在代碼中直接使用 $attrs 來接收所有的屬性也可以使用 useAttrs 函數(shù)import { useAttrs } from “vue”;let $attrs = useAttrs();

父組件中

<template>
  <div class="home-wrapper">Home</div>
  <el-button type="success" color="hotpink"  round @click="changeSuccess">{{suctext}}</el-button>
  <myBtnCom  type="success" color="hotpink" round></myBtnCom>
</template>

在myBtnCom 設(shè)置的屬性和 elementPlus中的button的屬性是一樣的, 傳到組件內(nèi)部 ,就可以封裝一個和 elementPlus 用法一樣的組件了注意: 我們可以使用 useAttrs 接收到組件中傳遞的屬性, 同樣我們也可以使用 defineProps來接收, 但是如果我們使用 defineProps 接收過的屬性, 會要useAttrs 中消失, 這個特性要注意一下

補(bǔ)充:vue props和attrs

vue3

props 要先聲明才能取值,attrs不用聲明直接使用($attrs 包含 class and style attribute)

props 不包含事件,attrs包含

props 支持 String 以外的類型,attrs只有 String 類型

props 沒有聲明的屬性,會在 attrs 里,若在 props 內(nèi)聲明了該屬性,那么 attrs 里就不會出現(xiàn)該屬性

vue2與vue3的不同

包含所有父作用域的綁定 (class 和 style 除外)

props 不包含事件,attrs也不包含,事件通過$listeners監(jiān)聽

補(bǔ)充:

vue2官方

$attrs:

包含了父作用域中不作為 prop 被識別 (且獲取) 的 attribute 綁定 (class 和 style 除外)。當(dāng)一個組件沒有聲明任何 prop 時,這里會包含所有父作用域的綁定 (class 和 style 除外),并且可以通過 v-bind="$attrs" 傳入內(nèi)部組件——在創(chuàng)建高級別的組件時非常有用。

$listeners

包含了父作用域中的 (不含 .native 修飾器的) v-on 事件監(jiān)聽器。它可以通過 v-on="$listeners" 傳入內(nèi)部組件——在創(chuàng)建更高層次的組件時非常有用。

vue3

$listeners 被移除或整合到 $attrs

$attrs 現(xiàn)在包含 class and style attribute

到此這篇關(guān)于vue3中的useAttrs和props的區(qū)別的文章就介紹到這了,更多相關(guān)vue3 useAttrs和props區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue表單綁定實現(xiàn)多選框和下拉列表的實例

    vue表單綁定實現(xiàn)多選框和下拉列表的實例

    本篇文章主要介紹了vue表單綁定實現(xiàn)多選框和下拉列表的實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • vue-cli開發(fā)環(huán)境實現(xiàn)跨域請求的方法

    vue-cli開發(fā)環(huán)境實現(xiàn)跨域請求的方法

    本篇文章主要介紹了vue-cli開發(fā)環(huán)境實現(xiàn)跨域請求的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • vue中定義全局聲明vscode插件提示找不到問題解決

    vue中定義全局聲明vscode插件提示找不到問題解決

    這篇文章主要為大家介紹了vue中定義全局聲明vscode插件提示找不到問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • vue組件通信傳值操作示例

    vue組件通信傳值操作示例

    這篇文章主要介紹了vue組件通信傳值操作,結(jié)合實例形式分析了vue.js父子組件通信及兄弟組件通信相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • vue-cli3項目展示本地Markdown文件的方法

    vue-cli3項目展示本地Markdown文件的方法

    這篇文章主要介紹了vue-cli3項目展示本地Markdown文件的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • vue-resource post數(shù)據(jù)時碰到Django csrf問題的解決

    vue-resource post數(shù)據(jù)時碰到Django csrf問題的解決

    這篇文章主要介紹了vue-resource post數(shù)據(jù)時碰到Django csrf問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • vue 簡單自動補(bǔ)全的輸入框的示例

    vue 簡單自動補(bǔ)全的輸入框的示例

    這篇文章主要介紹了vue 簡單自動補(bǔ)全的輸入框的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解Vue2?watch監(jiān)聽props的值

    詳解Vue2?watch監(jiān)聽props的值

    再次遇到監(jiān)聽子組件收到父組件傳過來的值,如果這個值變化,頁面中的值發(fā)現(xiàn)是不會跟著同步變化的,本文給大家介紹Vue2?watch監(jiān)聽props的值,感興趣的朋友一起看看吧
    2023-12-12
  • vue項目中input輸入框輸入不了值問題及解決

    vue項目中input輸入框輸入不了值問題及解決

    這篇文章主要介紹了vue項目中input輸入框輸入不了值問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue之vue.$set()方法源碼案例詳解

    Vue之vue.$set()方法源碼案例詳解

    這篇文章主要介紹了Vue之vue.$set()方法源碼案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論