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

詳解vue2.6插槽更新v-slot用法總結(jié)

 更新時(shí)間:2019年03月09日 09:13:07   作者:Mando  
在 2.6.0 中,我們?yōu)榫呙宀酆妥饔糜虿宀垡肓艘粋€(gè)新的統(tǒng)一的語(yǔ)法 (即 v-slot 指令)。這篇文章主要介紹了詳解vue2.6插槽更新v-slot用法總結(jié),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在 2.6.0 中,我們?yōu)榫呙宀酆妥饔糜虿宀垡肓艘粋€(gè)新的統(tǒng)一的語(yǔ)法 (即 v-slot 指令)。它取代了 slot 和 slot-scope 這兩個(gè)目前已被廢棄但未被移除且仍在文檔中的特性。新語(yǔ)法的由來(lái)可查閱 RFC。

引vue官方文檔

之前做項(xiàng)目時(shí),對(duì)插槽理解太少了,這兩天學(xué)習(xí)時(shí),才發(fā)現(xiàn)插槽更新用v-slot了,自己做了些簡(jiǎn)單總結(jié),與大家分享一下~

插槽

我的理解就是父頁(yè)面在組件標(biāo)簽內(nèi)插入任意內(nèi)容,子組件內(nèi)插糟slot控制擺放位置(匿名插槽,具名插槽)

插槽分類

插槽一共就三大類
1.匿名插槽(也叫默認(rèn)插槽): 沒(méi)有命名,有且只有一個(gè)
2.具名插槽: 相對(duì)匿名插槽組件slot標(biāo)簽帶name命名的
3.作用域插槽: 子組件內(nèi)數(shù)據(jù)可以被父頁(yè)面拿到(解決了數(shù)據(jù)只能從父頁(yè)面?zhèn)鬟f給子組件)

匿名插槽(也叫默認(rèn)插槽default)

用法:我的理解,匿名插糟只需要一個(gè).(就是這些,不太復(fù)雜)

父頁(yè)面:

 <todo-list> 
    <template v-slot:default>
       任意內(nèi)容
       <p>我是匿名插槽 </p>
    </template>
</todo-list>  
//v-slot:default寫(xiě)上感覺(jué)和具名寫(xiě)法比較統(tǒng)一,容易理解,也可以不用寫(xiě)

子組件 todoList.vue

<slot>我是默認(rèn)值</slot>
##顯示##
// 任意內(nèi)容
// 我是匿名插槽

具名插槽(name)

用法:我的理解,和匿名插槽比較,就是必須起名todo對(duì)應(yīng),可以有多個(gè)具名插槽.(沒(méi)了~)

父頁(yè)面

 <todo-list> 
    <template v-slot:todo>
       任意內(nèi)容
       <p>我是匿名插槽 </p>
    </template>
</todo-list> 
// todo
data() {
   return {
    dynamicSlotName:"todo" 
   }

 },

子組件

<slot name="todo">我是默認(rèn)值</slot>
##顯示##
// 任意內(nèi)容
// 我是匿名插槽

對(duì) v-slot:todo 做操作:

動(dòng)態(tài)命名

v-slot:{dynamicSlotName}//替換標(biāo)簽上 v-slot:todo

具名插槽縮寫(xiě)(匿名插槽用法)(可以后看)

#todo 替換標(biāo)簽上 v-slot:todo

匿名如果想用必須加上default

#default 替換標(biāo)簽上 v-slot:todo

父級(jí)模板里的所有內(nèi)容都是在父級(jí)作用域中編譯的;子模板里的所有內(nèi)容都是在子作用域中編譯的。

作用域插槽

1.重點(diǎn)是slotProps接取子組件里:user="user" :test="test"類似屬性的數(shù)據(jù)

父頁(yè)面

<todo-list>
 <template v-slot:todo="slotProps" >
   {{slotProps.user.firstName}}
 </template> 
</todo-list> 
//slotProps 可以隨意命名
//slotProps 接取的是子組件標(biāo)簽slot上屬性數(shù)據(jù)的集合所有v-bind:user="user"

子組件

 <slot name="todo" :user="user" :test="test">
    {{ user.lastName }}
 </slot> 
data() {
    return {
      user:{
        lastName:"Zhang",
        firstName:"yue"
      },
      test:[1,2,3,4]
    }
  },
// {{ user.lastName }}是默認(rèn)數(shù)據(jù)  v-slot:todo 當(dāng)父頁(yè)面沒(méi)有(="slotProps")
// 時(shí)顯示 Zhang


## 顯示 ##
// yue

解構(gòu)插槽Prop

父頁(yè)面 (子組件不變 顯示一樣)

// 相當(dāng)于
function (slotProps) {
 // 插槽內(nèi)容
}
(slotProps)=>參數(shù)可以用slot標(biāo)簽上現(xiàn)有的值({user,test})替換
<todo-list>
 <template v-slot:todo="{user,test}
" >
   {{user.firstName}}
 </template> 
</todo-list> 
## 顯示 ##
## // yue

參數(shù)值替換名字(可以后看)

<todo-list>
 <template v-slot:todo="{user:person,test}
" >
   {{person.firstName}}
 </template> 
</todo-list> 

// v-slot:[dynamicSlotName]="{user:person,test}
## 顯示 ##
## // yue

獨(dú)占默認(rèn)插槽縮寫(xiě)(可以后看)
感覺(jué)沒(méi)什么機(jī)會(huì)用,限制條件太多

總結(jié)

在用上v-slot之后 只需要考慮好

1.是否需要命名(匿名插槽,具名插槽)
2.父頁(yè)面是否需要取存在子頁(yè)面的數(shù)據(jù)(作用域插槽)

todo-list實(shí)例

可以試一下,便于理解~

父頁(yè)面

<template>
  <div>
    新插槽 v-slot 代替具名插槽 作用于插槽
    <todo-list
    > 
    <template #todo="{todos:list}">
      <div @click = type(todos.id)>
         {{list.text}}
      </div>
        
    </template>
    </todo-list>  
  </div >
</template>
<script>
import todoList from "@/components/component/slotTodoChildren";
export default {
 name:"vSlot",
 components:{
  todoList
 },
 data() {
   return {

   }
 },
 methods: {
   type(data){
    console.log(data)
   }
 },
}
</script> 

子組件

<template>
  <ul class="slotTodoChildren">
    <li class="lis"
      v-for="todo in todoList"
      v-bind:key="todo.id"
    >
      <!--
      我們?yōu)槊總€(gè) todo 準(zhǔn)備了一個(gè)插槽,
      將 `todo(todoList里的)` 對(duì)象作為一個(gè)插槽的 prop 傳入。
      -->
      <slot name="todo" :todos="todo">
      <!-- 后備內(nèi)容 -->
      {{ todo.text }}
      </slot>
    </li>
  </ul>
</template>
<script>
export default {
  name:"slotChildren",

  data() {
    return {
      todoList:[
      {
        id:1,      
        text:"掃地"
      },
      {
        id:2,
        text:"做飯"
      },
      {
        id:3,
        text:"擦桌子"
      }
    ]
    }
  },
  created(){
    console.log(this.filteredTodos)
  }
}
</script>
<style scoped>
.slotTodoChildren .lis{
  display: block;
  background: #434534;
  line-height:40px;
  margin-top: 10px;
  color: #fff;
  font-size: 24px;
  height: 40px;
}
</style>

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

相關(guān)文章

  • Vue基于el-breadcrumb實(shí)現(xiàn)面包屑功能(操作代碼)

    Vue基于el-breadcrumb實(shí)現(xiàn)面包屑功能(操作代碼)

    這篇文章主要介紹了Vue基于el-breadcrumb實(shí)現(xiàn)面包屑功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • vue :style設(shè)置背景圖片方式backgroundImage

    vue :style設(shè)置背景圖片方式backgroundImage

    這篇文章主要介紹了vue :style設(shè)置背景圖片方式backgroundImage,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue?項(xiàng)目中Echarts?5使用方法詳解

    Vue?項(xiàng)目中Echarts?5使用方法詳解

    這篇文章主要為大家介紹了Vue?項(xiàng)目中Echarts?5使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Vue同一路由強(qiáng)制刷新頁(yè)面的實(shí)現(xiàn)過(guò)程

    Vue同一路由強(qiáng)制刷新頁(yè)面的實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了解決VUE同一路由強(qiáng)制刷新頁(yè)面的問(wèn)題,本文給大家分享實(shí)現(xiàn)過(guò)程,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Vue自定義v-has指令,做按鈕權(quán)限判斷的步驟

    Vue自定義v-has指令,做按鈕權(quán)限判斷的步驟

    這篇文章主要介紹了Vue自定義v-has指令,做按鈕權(quán)限判斷的步驟,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-04-04
  • Vue瀑布流插件的使用示例

    Vue瀑布流插件的使用示例

    這篇文章主要介紹了Vue瀑布流插件的使用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Vue + Elementui實(shí)現(xiàn)多標(biāo)簽頁(yè)共存的方法

    Vue + Elementui實(shí)現(xiàn)多標(biāo)簽頁(yè)共存的方法

    這篇文章主要介紹了Vue + Elementui實(shí)現(xiàn)多標(biāo)簽頁(yè)共存的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Vue如何循環(huán)提取對(duì)象數(shù)組中的值

    Vue如何循環(huán)提取對(duì)象數(shù)組中的值

    這篇文章主要介紹了Vue如何循環(huán)提取對(duì)象數(shù)組中的值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Vue父子組件通信全面詳細(xì)介紹

    Vue父子組件通信全面詳細(xì)介紹

    這篇文章主要介紹了React中父子組件通信詳解,在父組件中,為子組件添加屬性數(shù)據(jù),即可實(shí)現(xiàn)父組件向子組件通信,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-10-10
  • 基于Vue實(shí)現(xiàn)封裝一個(gè)虛擬列表組件

    基于Vue實(shí)現(xiàn)封裝一個(gè)虛擬列表組件

    正常情況下,我們對(duì)于數(shù)據(jù)都會(huì)分頁(yè)加載,最近項(xiàng)目中確實(shí)遇到了不能分頁(yè)的場(chǎng)景,如果不分頁(yè),頁(yè)面渲染幾千條數(shù)據(jù)就會(huì)感知到卡頓,使用虛擬列表就勢(shì)在必行了。本文主要介紹了如何基于Vue實(shí)現(xiàn)封裝一個(gè)虛擬列表組件,感興趣的可以了解一下
    2023-03-03

最新評(píng)論

库车县| 依安县| 乳山市| 紫金县| 来凤县| 浮梁县| 喀喇沁旗| 板桥市| 政和县| 曲水县| 西乌珠穆沁旗| 辉县市| 玉山县| 湖州市| 富民县| 铁力市| 泾川县| 叙永县| 邳州市| 禄丰县| 巫溪县| 辽源市| 治县。| 鄢陵县| 山西省| 仲巴县| 务川| 安顺市| 黑龙江省| 永吉县| 左贡县| 合作市| 泾阳县| 贵德县| 荆门市| 安宁市| 灵寿县| 万安县| 延庆县| 西贡区| 应城市|