溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue slot與傳參實(shí)例代碼講解

發(fā)布時(shí)間:2020-10-12 12:38:56 來(lái)源:腳本之家 閱讀:189 作者:Jade_g 欄目:web開(kāi)發(fā)

插槽分為默認(rèn)插槽和具名插槽:

默認(rèn)插槽: 

//父組件
<div>
  <h4>父組件</h4>
  <testChild>
   <div>默認(rèn)插槽</div>
  </testChild>
</div>

//子組件
<div>
 <h5>子組件</h5>
 <slot></slot>
</div>

vue slot與傳參實(shí)例代碼講解

具名插槽:

  注意:具名插槽需要包裹在  template  標(biāo)簽中,否則會(huì)報(bào)錯(cuò)

//父組件
<div>
  <h4>父組件</h4>
  <testChild>
   <template v-slot:test>//v-slot: + 插槽名
    <ul>
     <li v-for="item in list">{{item.name}}</li>
    </ul>
   </template>
  </testChild>
 </div>
//子組件
 <div>
  <h5>子組件</h5>
  <slot name="test"></slot> //name="插槽名"
 </div>

vue slot與傳參實(shí)例代碼講解

子組件向父組件傳參:

//父組件 
 <div>
  <h4>父組件</h4>
  <testChild>
   <template v-slot:test="data">//具名插槽,v-slot: +插槽名+ ="自定義數(shù)據(jù)名",子組件所傳參數(shù)都是其屬性
    <ul>
     <li v-for="item in data.list2">{{item.name}}</li>
    </ul>
   </template>
   <template v-slot="dataDefalut">//默認(rèn)插槽
    {{dataDefalut.sName}}
   </template>
  </testChild>
 </div>

//子組件
<template>
 <div>
  <h5>子組件</h5>
  <slot name="test" :list2="list2"></slot>
  <slot :sName="name"></slot>
 </div>
</template>
<script>
 export default {
  name: "testChild",
  data(){
   return {
    list2:[
     {name:'ccc'},
     {name:'ddd'}
    ],
    name:'name'
   }
  }
 }
</script>

結(jié)果:

vue slot與傳參實(shí)例代碼講解

補(bǔ)充:vue 利用slot向父組件傳值

閑話不多說(shuō),上代碼

子組件,里面有slot插槽,并在slot上綁定了text值

<template>
 <div @click="$emit('change',checked+1)">
  <slot name="icon" :text="text"></slot>
 </div>
</template>
<script>
 export default{
  data(){
   return {
    text:"我是子組件"
   }
  },
  props:["checked"],
  model:{
   prop: 'checked',
   event: 'change'
  }
 }
</script>

父組件通過(guò)slot-scope就可以拿到子組件slot上綁定的值,并且2.5.0版本可以用于任意元素上

<template>
 <div id="app">
  <img src="./assets/logo.png">
  <!--<router-view/>-->
  <car v-model="index">
   <div slot="icon" slot-scope="props">
    {{props.text}}
   </div>
  </car>
 </div>
</template>

這樣,就可以拿到子組件里面的text值。

總結(jié)

以上所述是小編給大家介紹的vue slot與傳參實(shí)例代碼講解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI