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

vue 組件中slot插口的具體用法

 更新時(shí)間:2018年04月03日 14:07:29   作者:\面朝陽(yáng)光/  
這篇文章主要介紹了vue 中slot 的具體用法,包括子組件父組件的代碼介紹,需要的朋友可以參考下

子組件

<template>
  <div class="slotcontent">
    <ul>
      <!--<slot></slot>-->
      <li v-for="item in items">{{item.text}}</li>
    </ul>
  </div>
</template>
<script>
  export default{
    data(){
      return{
        items:[
          {id:1,text:'第1段'},
          {id:2,text:'第2段'},
          {id:3,text:'第3段'},
        ]
      }
    }
  }
</script>
<style scoped>
</style>

  父組件

<template>
  <div>
    <h2>首頁(yè)</h2>
    <router-link to="/home/details">跳轉(zhuǎn)到詳情</router-link>
    <p>父組件</p>
    <slotshow>
      <p>{{msg}}</p>
    </slotshow>
  </div>
</template>
<script>
  import slotshow from '../components/slotshow'
  export default{
    data(){
      return{
        msg:"測(cè)試內(nèi)容"
      }
    },
    components:{
      slotshow
    }
  }
</script>
<style>
</style>

  這種情況是如果要父組件在子組件中插入內(nèi)容 ,必須要在子組件中聲明slot 標(biāo)簽  ,如果子組件模板不包含<slot>插口,父組件的內(nèi)容<p>{{msg}}</p>將會(huì)被丟棄。

 當(dāng)slot存在默認(rèn)值<slot><p>默認(rèn)值</p></slot>,且父元素在<slotshow></slotshow>中沒(méi)有要插入的內(nèi)容時(shí),會(huì)顯示<p>默認(rèn)值</p>(p標(biāo)簽會(huì)去掉),當(dāng)slot存在默認(rèn)值,且父元素在<child>中存在要插入的內(nèi)容時(shí),則顯示父組件中設(shè)置的值,

具名slot

<slot> 元素可以用一個(gè)特殊的屬性 name 來(lái)配置如何分發(fā)內(nèi)容。多個(gè) slot 可以有不同的名字。具名 slot 將匹配內(nèi)容片段中有對(duì)應(yīng) slot 特性的元素

var childNode = {
 template: `
 <div class="child">
 <p>子組件</p>
 <slot name="my-header">頭部默認(rèn)值</slot>
 <slot name="my-body">主體默認(rèn)值</slot>
 <slot name="my-footer">尾部默認(rèn)值</slot>
 </div>
 `,
};

var parentNode = {
 template: `
 <div class="parent">
 <p>父組件</p>
 <child>
 <p slot="my-header">我是頭部</p>
 <p slot="my-footer">我是尾部</p>
 </child>
 </div>
 `,
 components: {
 'child': childNode
 },
};

仍然可以有一個(gè)匿名 slot,它是默認(rèn) slot,作為找不到匹配的內(nèi)容片段的備用插槽。匿名slot只能作為沒(méi)有slot屬性的元素的插槽,有slot屬性的元素如果沒(méi)有配置slot,則會(huì)被拋棄

var childNode = {
 template: `
 <div class="child">
 <p>子組件</p>
 <slot name="my-body">主體默認(rèn)值</slot>
 <slot></slot>
 </div>
 `,
};

var parentNode = {
 template: `
 <div class="parent">
 <p>父組件</p>
 <child>
 <p slot="my-body">我是主體</p>
 <p>我是其他內(nèi)容</p>
 <p slot="my-footer">我是尾部</p>
 </child>
 </div>
 `,
 components: {
 'child': childNode
 },
};
<p slot="my-body">插入<slot name="my-body">中,<p>我是其他內(nèi)容</p>插入<slot>中,而<p slot="my-footer">被丟棄

如果沒(méi)有默認(rèn)的 slot,這些找不到匹配的內(nèi)容片段也將被拋棄

var childNode = {
 template: `
 <div class="child">
 <p>子組件</p>
 <slot name="my-body">主體默認(rèn)值</slot>
 </div>
 `,
};

var parentNode = {
 template: `
 <div class="parent">
 <p>父組件</p>
 <child>
 <p slot="my-body">我是主體</p>
 <p>我是其他內(nèi)容</p>
 <p slot="my-footer">我是尾部</p>
 </child>
 </div>
 `,
 components: {
 'child': childNode
 },
};
<p>我是其他內(nèi)容</p>和<p slot="my-footer">都被拋棄

作用域插槽

作用域插槽是一種特殊類(lèi)型的插槽,用作使用一個(gè) (能夠傳遞數(shù)據(jù)到) 可重用模板替換已渲染元素。

在子組件中,只需將數(shù)據(jù)傳遞到插槽,就像將 props 傳遞給組件一樣

<span style="font-size: 16px"><div class="child">
 <slot text="hello from child"></slot>
</div></span>

在父級(jí)中,具有特殊屬性 scope 的 <template> 元素必須存在,表示它是作用域插槽的模板。scope 的值對(duì)應(yīng)一個(gè)臨時(shí)變量名,此變量接收從子組件中傳遞的 props 對(duì)象.

var <span style="color: #ffffff">childNode</span> = {
 template: `
 <div class="child">
 <p>子組件</p>
 <slot xxx="hello from child"></slot>
 </div>
 `,
};
var parentNode = {
 template: `
 <div class="parent">
 <p>父組件</p>
 <child>
 <template scope="props">
 <p>hello from parent</p>
 <p>{{ props.xxx }}</p>
 </template>
 </child>
 </div>
 `,
 components: {
 'child': childNode
 },
};

如果渲染以上結(jié)果,得到的輸出是


【列表組件】

作用域插槽更具代表性的用例是列表組件,允許組件自定義應(yīng)該如何渲染列表每一項(xiàng)

var childNode = {
 template: `
 <ul>
 <slot name="item" v-for="item in items" :text="item.text">默認(rèn)值</slot>
 </ul>
 `,
 data(){
 return{
 items:[
 {id:1,text:'第1段'},
 {id:2,text:'第2段'},
 {id:3,text:'第3段'},
 ]
 }
 }
};

var parentNode = {
 template: `
 <div class="parent">
 <p>父組件</p>
 <child>
 <template slot="item" scope="props">
 <li>{{ props.text }}</li>
 </template>
 </child>
 </div>
 `,
 components: {
 'child': childNode
 },
};

 

總結(jié)

以上所述是小編給大家介紹的vue 中slot 的具體用法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Vue3中事件總線mitt的使用方式

    Vue3中事件總線mitt的使用方式

    mitt又稱(chēng)事務(wù)總線,是第三方插件,這篇文章主要為大家詳細(xì)介紹了Vue3中事件總線mitt的使用方式,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • vue腳手架配置預(yù)渲染及prerender-spa-plugin配置方式

    vue腳手架配置預(yù)渲染及prerender-spa-plugin配置方式

    這篇文章主要介紹了vue腳手架配置預(yù)渲染及prerender-spa-plugin配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 詳解vue中$router和$route的區(qū)別

    詳解vue中$router和$route的區(qū)別

    這篇文章主要介紹了vue中$router和$route的區(qū)別,對(duì)vue感興趣的同學(xué),一定要看下
    2021-05-05
  • Vite引用本地靜態(tài)資源的正確方式

    Vite引用本地靜態(tài)資源的正確方式

    在前端開(kāi)發(fā)中,除了通過(guò) API 動(dòng)態(tài)請(qǐng)求的數(shù)據(jù)外,還有一些諸如 HTML 文件、圖片、字體等文件需要在項(xiàng)目中被用到,通常這些被視為靜態(tài)資源,本文將基于 Vite + React 來(lái)講述并解鎖 Vite 引用本地靜態(tài)資源的正確姿勢(shì),需要的朋友可以參考下
    2024-12-12
  • vue組件文檔生成備注詳解

    vue組件文檔生成備注詳解

    這篇文章主要介紹了vue組件文檔生成備注詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 詳解Vue 匿名、具名和作用域插槽的使用方法

    詳解Vue 匿名、具名和作用域插槽的使用方法

    這篇文章主要介紹了Vue 匿名、具名和作用域插槽的使用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • vue3?證件識(shí)別上傳組件封裝功能

    vue3?證件識(shí)別上傳組件封裝功能

    證件圖片識(shí)別上傳根據(jù)業(yè)務(wù)需要,經(jīng)常涉及到證件上傳,例如身份證上傳、銀行卡、營(yíng)業(yè)執(zhí)照等信息,根據(jù)設(shè)計(jì)師的設(shè)計(jì),單獨(dú)封裝了一個(gè)上傳組件,這篇文章主要介紹了vue3?證件識(shí)別上傳組件封裝,需要的朋友可以參考下
    2023-05-05
  • Vue中$on和$emit的實(shí)現(xiàn)原理分析

    Vue中$on和$emit的實(shí)現(xiàn)原理分析

    這篇文章主要介紹了Vue中$on和$emit的實(shí)現(xiàn)原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 使用table做成樹(shù)形結(jié)構(gòu)的table

    使用table做成樹(shù)形結(jié)構(gòu)的table

    這篇文章主要介紹了使用table做成樹(shù)形結(jié)構(gòu)的table問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 如何使用Webpack優(yōu)化Vue項(xiàng)目的打包流程

    如何使用Webpack優(yōu)化Vue項(xiàng)目的打包流程

    在開(kāi)發(fā)基于Vue.js的應(yīng)用時(shí),隨著項(xiàng)目規(guī)模的擴(kuò)大,單個(gè)文件的體積也會(huì)隨之增長(zhǎng),特別是當(dāng)涉及到大量的依賴(lài)庫(kù)和復(fù)雜的業(yè)務(wù)邏輯時(shí),本文將詳細(xì)介紹如何使用Webpack來(lái)優(yōu)化Vue項(xiàng)目的打包流程,需要的朋友可以參考下
    2024-09-09

最新評(píng)論

长武县| 边坝县| 张家川| 江门市| 广安市| 松潘县| 和硕县| 高阳县| 丰原市| 卢龙县| 什邡市| 濮阳县| 兰考县| 阳春市| 罗江县| 鄂托克前旗| 青浦区| 宣恩县| 潞城市| 吉木萨尔县| 绿春县| 揭东县| 玉门市| 新丰县| 彭水| 聊城市| 高陵县| 顺义区| 高雄县| 沛县| 鄱阳县| 财经| 浮山县| 刚察县| 呼伦贝尔市| 霸州市| 宜春市| 永川市| 调兵山市| 双牌县| 临湘市|