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

vue 的 solt 子組件過(guò)濾過(guò)程解析

 更新時(shí)間:2019年09月07日 11:43:21   作者:muamaker  
這篇文章主要介紹了vue 的 solt 子組件過(guò)濾過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

如下圖:

1、定義了一個(gè)類(lèi)似下拉的組件 mySelect , 然后里面有自定義的組件 myOptions

2、有很多時(shí)候,我們希望, mySelect 組件內(nèi)部的子組件,只能是 myOptions 。 不應(yīng)該有 <div>666</div>

3、在mySelect 里面做一層過(guò)濾,去掉不需要的組件

下面先看看

myOptions.vue 組件代碼

<template>
 <div class="options">
   <div>這里是 options</div>
 </div>
</template>
 
<script>
// @ is an alias to /src
export default {
 name: 'myoptions',
 data(){
   return {}
 },
 created(){  
 },
 mounted(){
  }
}
</script>

接下來(lái)是 mySelect 的代碼:

<template>
 <div class="select">
   <div>這里是 Select</div>
   <slot></slot>
 </div>
</template>
 
<script>
// @ is an alias to /src
 
 
export default {
 name: "myselect",
 data(){
   return {
     _children:[]
   }
 },
 created(){
   console.log(this.$children) // 輸出為 []
   console.log(this.$slots.default) //輸出為 [VNode, VNode, VNode]
   var arr = this.$slots.default || []
   var res = [];
   for(var i = 0; i < arr.length; i++){
      var item = arr[i];
      if(item.componentOptions && item.componentOptions.tag == "myOptions"){
        res.push(item);
      }
   }
   this._children = res;
   this.$slots.default = res;
 },
 mounted(){
  console.log(this.$slots.default) //[VNode, VNode]
  console.log(this.$children)//因?yàn)檫^(guò)濾掉了一個(gè),所以為 [VueComponent, VueComponent]
 }
}
</script>

在 mySelect 的 created 和 mounted 里面,分別查看

this.$slots.default和 this.$children

就會(huì)發(fā)現(xiàn)內(nèi)部的子組件渲染,與這個(gè)有很大關(guān)系,只需要過(guò)濾一下 slots 就可以了

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Vue.js在頁(yè)面加載時(shí)執(zhí)行某個(gè)方法

    詳解Vue.js在頁(yè)面加載時(shí)執(zhí)行某個(gè)方法

    這篇文章主要介紹了詳解Vue.js在頁(yè)面加載時(shí)執(zhí)行某個(gè)方法的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • 關(guān)于vue3默認(rèn)把所有onSomething當(dāng)作v-on事件綁定的思考

    關(guān)于vue3默認(rèn)把所有onSomething當(dāng)作v-on事件綁定的思考

    這篇文章主要介紹了關(guān)于vue3默認(rèn)把所有`onSomething`當(dāng)作`v-on`事件綁定的思考,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Vue使用font-face自定義字體的案例詳解

    Vue使用font-face自定義字體的案例詳解

    @font-face?是?CSS?中的一個(gè)規(guī)則,它允許你加載服務(wù)器上的字體文件(遠(yuǎn)程或者本地),并在網(wǎng)頁(yè)中使用這些字體,本文給大家介紹了Vue使用font-face自定義字體的案例,并通過(guò)代碼講解的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼

    vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼

    這篇文章主要介紹了vue 基于abstract 路由模式 實(shí)現(xiàn)頁(yè)面內(nèi)嵌的示例代碼,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • 詳解Vue的watch中的immediate與watch是什么意思

    詳解Vue的watch中的immediate與watch是什么意思

    這篇文章主要介紹了詳解Vue的watch中的immediate與watch是什么意思,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Tree-Shaking?機(jī)制快速掌握

    Tree-Shaking?機(jī)制快速掌握

    這篇文章主要為大家介紹了Tree-Shaking?機(jī)制的快速掌握教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Vue2.0組件間數(shù)據(jù)傳遞示例

    Vue2.0組件間數(shù)據(jù)傳遞示例

    本篇文章主要介紹了Vue2.0組件間數(shù)據(jù)傳遞示例,組件間數(shù)據(jù)傳遞主要是父子組件之間傳遞,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-03-03
  • Vue-Router如何動(dòng)態(tài)更改當(dāng)前頁(yè)url query

    Vue-Router如何動(dòng)態(tài)更改當(dāng)前頁(yè)url query

    這篇文章主要介紹了Vue-Router如何動(dòng)態(tài)更改當(dāng)前頁(yè)url query問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue實(shí)現(xiàn)tab切換外加樣式切換方法

    vue實(shí)現(xiàn)tab切換外加樣式切換方法

    下面小編就為大家分享一篇vue實(shí)現(xiàn)tab切換外加樣式切換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 在vue中使用v-bind:class的選項(xiàng)卡方法

    在vue中使用v-bind:class的選項(xiàng)卡方法

    今天小編就為大家分享一篇在vue中使用v-bind:class的選項(xiàng)卡方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09

最新評(píng)論