亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 12:01:00
字體:
來源:轉載
供稿:網友

在 2.6.0 中,我們為具名插槽和作用域插槽引入了一個新的統一的語法 (即 v-slot 指令)。它取代了 slot 和 slot-scope 這兩個目前已被廢棄但未被移除且仍在文檔中的特性。新語法的由來可查閱 RFC。

引vue官方文檔

之前做項目時,對插槽理解太少了,這兩天學習時,才發現插槽更新用v-slot了,自己做了些簡單總結,與大家分享一下~

插槽

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

插槽分類

插槽一共就三大類
1.匿名插槽(也叫默認插槽): 沒有命名,有且只有一個
2.具名插槽: 相對匿名插槽組件slot標簽帶name命名的
3.作用域插槽: 子組件內數據可以被父頁面拿到(解決了數據只能從父頁面傳遞給子組件)

匿名插槽(也叫默認插槽default)

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

父頁面:

 <todo-list>     <template v-slot:default>       任意內容       <p>我是匿名插槽 </p>    </template></todo-list>  //v-slot:default寫上感覺和具名寫法比較統一,容易理解,也可以不用寫

子組件 todoList.vue

<slot>我是默認值</slot>##顯示##// 任意內容// 我是匿名插槽

具名插槽(name)

用法:我的理解,和匿名插槽比較,就是必須起名todo對應,可以有多個具名插槽.(沒了~)

父頁面

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

子組件

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

對 v-slot:todo 做操作:

動態命名

v-slot:{dynamicSlotName}//替換標簽上 v-slot:todo

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

#todo 替換標簽上 v-slot:todo

匿名如果想用必須加上default

#default 替換標簽上 v-slot:todo

父級模板里的所有內容都是在父級作用域中編譯的;子模板里的所有內容都是在子作用域中編譯的。

作用域插槽

1.重點是slotProps接取子組件里:user="user" :test="test"類似屬性的數據

父頁面

<todo-list> <template v-slot:todo="slotProps" >   {{slotProps.user.firstName}} </template> </todo-list> //slotProps 可以隨意命名//slotProps 接取的是子組件標簽slot上屬性數據的集合所有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 }}是默認數據  v-slot:todo 當父頁面沒有(="slotProps")// 時顯示 Zhang## 顯示 ##// yue

解構插槽Prop

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

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

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

<todo-list> <template v-slot:todo="{user:person,test}" >   {{person.firstName}} </template> </todo-list> // v-slot:[dynamicSlotName]="{user:person,test}## 顯示 #### // yue

獨占默認插槽縮寫(可以后看)
感覺沒什么機會用,限制條件太多

總結

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

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

todo-list實例

可以試一下,便于理解~

父頁面

<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"    >      <!--      我們為每個 todo 準備了一個插槽,      將 `todo(todoList里的)` 對象作為一個插槽的 prop 傳入。      -->      <slot name="todo" :todos="todo">      <!-- 后備內容 -->      {{ 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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频亚洲视频| 久久久久久久久久久成人| 2020久久国产精品| 午夜精品久久久久久久白皮肤| 清纯唯美日韩制服另类| 97精品国产91久久久久久| 久久精品视频一| 国产精品久久久久av免费| 日韩av电影免费观看高清| 超碰精品一区二区三区乱码| 亚洲国产成人精品久久| 成人免费看黄网站| 在线视频欧美日韩精品| 深夜福利国产精品| 国产日韩欧美中文| 国产91精品视频在线观看| 68精品久久久久久欧美| 最近的2019中文字幕免费一页| 国产精品欧美日韩| 日韩精品中文字幕视频在线| 亚洲免费福利视频| 超碰日本道色综合久久综合| 成人福利视频在线观看| 少妇精69xxtheporn| 欧美资源在线观看| 亚洲第一级黄色片| 激情亚洲一区二区三区四区| 亚洲字幕一区二区| 亚洲偷欧美偷国内偷| 久久久人成影片一区二区三区| 在线观看亚洲区| 欧美不卡视频一区发布| 欧美成人免费网| 久久久精品999| 高清日韩电视剧大全免费播放在线观看| 精品久久久av| 亚洲天堂成人在线| 欧美大尺度激情区在线播放| 久久的精品视频| 欧美日韩亚洲精品内裤| 国产日韩精品综合网站| 日韩免费观看av| 欧美老少做受xxxx高潮| 成人黄色在线观看| 国产欧美一区二区白浆黑人| 国产午夜精品免费一区二区三区| 亚洲一区二区三区香蕉| 国产日本欧美在线观看| 欧美午夜电影在线| 亚洲精品免费一区二区三区| 欧美性少妇18aaaa视频| 欧美午夜激情视频| 国产精品久久久av久久久| 国产精品久久久久久久9999| 国产欧美一区二区三区在线看| 成人激情视频免费在线| 日韩精品日韩在线观看| 日韩欧美黄色动漫| 欧美最猛性xxxxx免费| 日韩精品免费一线在线观看| 日韩在线免费av| 在线观看免费高清视频97| 欧美性高潮床叫视频| 欧美精品久久久久久久久久| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲精品电影网站| 欧美日韩一区二区精品| 深夜福利国产精品| 中文字幕亚洲欧美日韩在线不卡| 国产日韩中文在线| 中文字幕欧美精品日韩中文字幕| 久久久免费精品视频| 日韩美女在线播放| 少妇久久久久久| 欧美电影在线免费观看网站| 不卡av日日日| 亚洲网站视频福利| 亚洲黄色片网站| 国语自产精品视频在线看抢先版图片| 欧美乱大交xxxxx另类电影| 国产婷婷成人久久av免费高清| 91在线观看免费高清完整版在线观看| 成人性生交xxxxx网站| 久久国产色av| 精品福利在线观看| 91精品在线观| 久久久久中文字幕| 亚洲成人黄色网| 欧美一区二区三区免费视| 欧美激情一级二级| 亚洲国产精品字幕| 夜夜嗨av色一区二区不卡| 日韩成人激情视频| 综合国产在线视频| 日韩在线视频网站| 国产成人高清激情视频在线观看| 亚洲午夜国产成人av电影男同| 国产精品一区二区3区| 国产成人高清激情视频在线观看| 欧美午夜丰满在线18影院| 亚洲精品永久免费| 97精品在线观看| 国内揄拍国内精品| 国产精自产拍久久久久久| 国产精品一区二区三区成人| 最新69国产成人精品视频免费| 免费av在线一区| 亚洲人成网7777777国产| 久久影视电视剧免费网站清宫辞电视| 在线观看久久久久久| 在线成人一区二区| 国产日韩精品在线观看| 久久精品91久久香蕉加勒比| 日韩免费高清在线观看| 91性高湖久久久久久久久_久久99| 欧美交受高潮1| 亚洲美女动态图120秒| 国产综合视频在线观看| 亚洲free性xxxx护士白浆| 国内精品400部情侣激情| 亚洲欧洲激情在线| 亚洲欧美日韩一区二区三区在线| 欧美国产第一页| 亚洲国产精品悠悠久久琪琪| 久久精品影视伊人网| 日韩精品久久久久久久玫瑰园| 国产精品旅馆在线| 成人免费观看49www在线观看| 国内精品免费午夜毛片| 国产经典一区二区| 色综合伊人色综合网| 亚洲免费av片| 国产女精品视频网站免费| 欧美一乱一性一交一视频| 亚洲国产天堂久久国产91| 亚洲精品自拍视频| 亚洲一区亚洲二区亚洲三区| 日韩av在线影院| 97欧美精品一区二区三区| 国产精品视频免费在线观看| 成人欧美一区二区三区在线| 亚洲高清不卡av| 这里只有视频精品| 亚洲美女在线视频| 久久深夜福利免费观看| 久久精品91久久久久久再现| 在线观看欧美日韩| 7m第一福利500精品视频| 日韩有码视频在线| 日韩精品亚洲精品| 日韩在线资源网| 中文字幕在线视频日韩| 日韩成人激情视频| 欧美多人乱p欧美4p久久| 中文字幕亚洲欧美日韩2019| 成人午夜在线观看| 亚洲精品视频播放| 欧美中文在线字幕| 超在线视频97| 91香蕉亚洲精品| 亚洲欧美日本另类| 国产精品日韩在线播放| 亚洲а∨天堂久久精品喷水| 日韩精品中文在线观看|