slot vue 用法專題及常見問題 - CSDN

2021-01-09 CSDN技術社區

Vue 實現了一套內容分發的 API,將 <slot> 元素作為承載分發內容的出口。可以理解為模板中的佔位符, 在實例化時用自定義標籤元素替代.

本文基於Vue 2.0 最新語法.

slot 的用法大概分為三種:

一. 匿名插槽

<template> <div> <!-- 匿名插槽 --> <!-- 一個模板中只能有一個匿名插槽 --> <span style="display:block;">匿名插槽</span> <!-- 例1, 不帶 name 的 slot --> <slot>匿名插槽</slot> <!-- 例2, 匿名插槽出口會帶有隱含的名字「default」 --> <!-- <slot name="default"></slot> --> </div></template><script>export default { }</script> 模板

<template> <div> <slott> <!-- 匿名插槽 --> <!-- 例1 --> <el-button>確定</el-button> <!-- 例2 --> <!-- <template v-slot:default> <el-button>確定</el-button> </template> --> </slott> </div></template><script>import slott from '@/components/lesson/pieces/slott'export default { components: { slott }}</script> 使用

二. 具名插槽

<template> <div> <!-- 具名插槽 --> <span style="display:block;">具名插槽</span> <!-- 例1 --> <slot name="content"></slot> <!-- 例2, 縮寫 --> <slot name="short"></slot> </div></template><script>export default { }</script> 模板

<template> <div> <slott> <!-- 具名插槽 --> <!-- 例1 --> <template v-slot:content> <el-button type="success">具名插槽 template</el-button> </template> <!-- 廢棄語法, 直接在元素上使用 slot --> <!-- <el-button slot="content" type="success">具名插槽</el-button> --> <!-- 例2, 縮寫, 默認插槽縮寫 #default --> <template #short> <el-button type="primary">具名插槽縮寫</el-button> </template> </slott> </div></template><script>import slott from '@/components/lesson/pieces/slott'export default { components: { slott }}</script> 使用

三. 作用域插槽

<template> <div> <!-- 作用域插槽 --> <!-- 作用域插槽用於向父視圖傳參 --> <span style="display:block;">作用域插槽</span> <!-- 形式: v-bind:自定義 prop 名 = "數據" --> <!-- 例1 --> <slot name="scope" v-bind:data="msg">後備內容</slot> <!-- 例2 --> <ul> <slot name="list" v-for="item in arr" v-bind:user="item"> {{ item }} </slot> </ul> <!-- 例3 --> <!-- 匿名作用域插槽, 一個模板中只能有一個匿名插槽 --> <!-- <slot name="default" :info="unNamed">匿名作用域插槽</slot> --> </div></template><script>export default { data () { return { msg: 'message', arr: [ "GOT", "Australia", "NewZealand" ], unNamed: "伏地魔" } }}</script> 模板

<template> <div> <slott> <!-- 作用域插槽 --> <!-- 形式: v-slot:插槽名="自定義 prop 名" --> <!-- 例1 --> <template v-slot:list="slotProps"> {{ slotProps.user + "my love" }} </template> <!-- 例2 --> <template v-slot:scope="scopeProp"> {{ scopeProp.data }} </template> <!-- 例3 --> <template v-slot:default="props"> {{ props.info }} </template> <!-- 廢棄語法 --> <!-- <template slot="default" slot-scope="props"> {{ props.info }} </template> --> </slott> </div></template><script>import slott from '@/components/lesson/pieces/slott'export default { components: { slott }}</script> 使用

 

相關焦點

  • slot vue 具名專題及常見問題 - CSDN
    vue的slot1、什麼是slotslot是插槽,插即是可以插入,槽就是坑,即是可以再代碼中插入如果子組件模板中不包含插口,那麼父組件的內容將會被丟棄。當子組件模板中有一個麼有屬性的插槽時,父組件傳入的整個內容片段,將插入到插槽所在的dom的位置,並替換掉插槽標籤本身。
  • template標籤 vue 作用專題及常見問題 - CSDN
    > <slot name='header'></slot> </header> <main> <slot></slot> </main> <footer> <
  • vue 作用域插槽的使用專題及常見問題 - CSDN
    關於vue插槽,也用過很多次了,但是關於作用域插槽的用法,有些模糊,查了很多文檔,自己理解記憶。在官網上說:那麼問題來了,肯定會有這樣的業務需求啊,這時候,就要用作用域插槽了。我將這個概念理解為:子組件的插槽要在父組件裡使用子組件內部的數據,可以靈活的渲染子組件的dom結構以及數據。
  • vue 具名插槽詳解專題及常見問題 - CSDN
    插槽含義:就是引入子組件後,在插入子組件元素中添加信息或者標籤,使得子組件的指定位置插入信息或者標籤插槽有三種:默認插槽、具名插槽、作用域插槽,由於vue2.6.0後對插槽進行修改,但是兼容2.6.0前的版本,博文中只說明2.6.0後的插槽,vue3.0後面會去除2.60前的版本兼容  一、默認插槽<
  • a標籤 href vue專題及常見問題 - CSDN
    vue.js 實現a標籤href裡添加參數原始碼列表可以正常顯示,但是連接沒有實現對items.orderNo的值轉化,最中解決方法
  • ref vue 獲取文本專題及常見問題 - CSDN
    ref的官網介紹https://cn.vuejs.org/v2/api/#ref需求在普通的js操作中,一般都是直接操作dom元素,但是對於Vue.js框架來說,一般是不允許直接操作dom元素的。那麼其實Vue.js框架提供了ref獲取dom元素,以及組件引用。
  • table vue插槽的使用 - CSDN
    插槽,也就是slot,是組件的一塊HTML模板,這塊模板顯示不顯示、以及怎樣顯示由父組件來決定。 實際上,一個slot最核心的兩個問題在這裡就點出來了,是顯示不顯示和怎樣顯示。但是插槽顯示的位置卻由子組件自身決定,slot寫在組件template的什麼位置,父組件傳過來的模板將來就顯示在什麼位置。1、插槽內容  vue實現了一套內容分發的api,將 slot 元素作為承載內容分發的出口。  插槽內可以包含任何模板代碼,包括html,以及其他組件。
  • 如何寫一個vue組件專題及常見問題 - CSDN
    如何使用vue寫一個組件庫新建vue項目使用vue-cli初始化一個項目:vue init webpack VueComponentcd VueComponentnpm installnpm run dev以上就新建好了一個vue項目項目目錄首先,定義好目錄,經過觀察大多數的組件庫,基本是這樣的目錄
  • Vue之插槽(slot)
    比如圖標定義,動態內容定義,都可以通過slot的方法來完成。以上說的都是以插槽內容為主的使用說明,都是一對一(slot)的組件,下面我接著講一講一對多(slot)的時候的用法。v-slot:使用說明(一對多)v-slot:是主要針對具名插槽 也就是多個slot中需要用到的功能,在這裡我以官方的DEMO來做簡單的說明 以上為定義好的具名插槽模板(<base-layout>)。
  • vue組件詳解—使用slot分發內容
    三、slot用法3.1 單個slot在子組件內使用特殊的<slot>元素就可以為這個子組件開啟一個slot(插槽),在父組件模板裡,插入在子組件標籤內的所有內容將替代子組件的<slot> 標籤及它的內容。
  • c++ 槽函數專題及常見問題 - CSDN
    1 called" << std::endl;}void slots2(int a) {std::cout << "slot 2 called " << a << std::endl;}void slots3(int a) {std::cout << "slot 3 called " << a << std::endl
  • vue高級進階系列——用typescript玩轉vue和vuex
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫用過vue的朋友大概對vuex也不陌生,vuex的官方解釋是專為 Vue.js 應用程式開發的狀態管理模式。它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。
  • 卡方檢驗結果分析專題及常見問題 - CSDN
    簡單統計之後,得到總數和死亡率:此處需要使用到ggbarstats函數,其參數可謂是非常的多,詳細的參數表我放在另一個博客中了,有興趣的朋友可以去看看(https://blog.csdn.net/m0_45248682/article/details/104086729)。
  • 4種可用於組織大型Vue.js項目的最佳實踐
    這就是在大型項目中將要面臨的真實情況,不過,Vue.js可以提供針對此問題的現場解決方案。我們可以在Vue.js中使用slots來提供表示父子關係的另一種方法,slots提供了將內容放置在新位置的渠道。
  • f檢驗 matlab專題及常見問題 - CSDN
    15.71985 15.91986 15.71987 16.71988 15.31989 16.11990 16.2MATLAB實現參考網上多個代碼可得https://www.ilovematlab.cn/thread-246993-1-1.htmlhttps://blog.csdn.net
  • Particle Effect for Vue
    演示地址Vue Particle Effect Buttons安裝教程將 particle-effect.vue 複製到你的項目目錄中,自行修改適配。particles-amount-coefficient="3"    :oscillation-coefficient="20"    @begin="onBegin"    @complete="onComplete"  >    BUTTON CONTENT GOES HERE  </ParticleEffect></template>ParticleEffect組件中,由於使用了slot
  • vuejs 傳值給組件專題及常見問題 - CSDN
  • bootstrap 有統計圖專題及常見問題 - CSDN
    對於sqlalchemy的用法不清楚的可以查詢官方文檔,或者自己定義一個簡單的User類,然後列印一下query的內容方便理解。這種模式還常見於評分系統的分數分布。
  • android啟動頁設計專題及常見問題 - CSDN
    轉載請註明出處:http://blog.csdn.net/wangjihuanghun/article/details/63255144啟動頁幾乎成為了每個app的標配,有些商家在啟動頁中增加了開屏廣告以此帶來更多的收入。
  • 什麼是VUE?VUE與JS的對比
    1.1. vue的引入先看下面這樣一個簡單的例子,實現了這樣一個功能數據的雙向綁定:也就是數據的同步修改我們需要讓所有綁定的對象和元素都能感知到變化1.1.1. vue與js的對比1.1.1.1. js的實現(了解)<!