av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

在vue中使用inheritAttrs實現組件的擴展性介紹

瀏覽:2日期:2022-10-20 15:26:32

1、首先我們創建一個input組件

<template> <div class='inputCom-wrap'> <input v-bind='$attrs' /> </div></template> <script lang='ts'>import { defineComponent } from ’vue’ export default defineComponent({ inheritAttrs:false,//不希望根直接繼承特性,而是使用$attrs自定義繼承,當前組件的根就是inputCom-wrap setup () { return {} }})</script> <style scoped> </style>

2、使用組件的時候,隨便增加一些屬性,如

<inputCom type='text' class='input-a'></inputCom>

<inputCom type='password' class='input-b'></inputCom>

3、查看最終的渲染結果為(與props不會沖突)

在vue中使用inheritAttrs實現組件的擴展性介紹

補充知識:vue組件深層傳值inheritAttrs、$attrs、$listeners

1、$attrs

組件深層傳值 可通過父組件綁定 v-bind='$attrs'傳給子組件

一般子組件this.$attrs可以拿到父組件的所有傳輸的屬性。

當子組件props注冊了聲明某屬性之后,this.$attrs將不包含該屬性;

同理通過v-bind='$attrs'綁定孫子組件也不會包含子組件props聲明的屬性。

props: { data:{ type: Array, default: () => [],//數組格式[{label:xx,value:xxx}] }, value: { type: Array, default: () => [],//數組格式[xx,xx,xx] }, maxHeight:{ type:[String,Number], default:350, } },mounted() { console.log('來自多選',this.$attrs) },

在vue中使用inheritAttrs實現組件的擴展性介紹

2、inheritAttrs

默認值為true

默認情況子組件props未聲明,父組件傳輸的其他屬性會被認作 props 的 attribute 綁定 (attribute bindings) 將會“回退”且作為普通的 HTML attribute 應用在子組件的根元素上(有可能會覆蓋子組件根元素上的某些屬性列如 type='text'之類屬性)

子組件的inheritAttrs 設置為false可以避免

在vue中使用inheritAttrs實現組件的擴展性介紹

3、$listeners

父組件-子組件-孫子組件,現在我要你在孫子組件里改變父組件的值,子組件直接綁定

<muti-select v-bind='$attrs' v-on='$listeners' class='select'></muti-select>

以上這篇在vue中使用inheritAttrs實現組件的擴展性介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 国产高清91| 欧洲av在线| 91成人国产 | 亚洲影视一区 | 日韩精品一区在线观看 | 日韩av在线不卡 | 久久青青操 | 日日操视频 | 成人国产综合 | 夜间福利视频 | 狠狠操天天操 | 在线亚洲天堂 | 伊人成人在线视频 | 精品免费在线 | 成人a毛片| 免费一级片| 超碰在线中文字幕 | 国产黄色在线播放 | 欧美日韩亚洲综合 | 亚洲精品一区二区在线观看 | 黄色三级视频网站 | 天天综合色 | 中文字幕在线观看第一页 | 九九免费视频 | 国产精品美女久久久久久久久 | 欧美成人免费 | 精品日韩一区二区 | 亚洲另类av | 日韩亚洲一区二区 | 欧美在线视频一区二区 | 国产黄视频在线观看 | www.一区二区| 国产日本在线 | 欧美日韩在线视频观看 | 亚洲 欧美 日韩 在线 | 蜜臀av性久久久久av蜜臀妖精 | 成人免费毛片片v | 欧美久久久久久久 | av看片| 亚洲欧美视频一区 | 日韩国产精品视频 |