1. 程式人生 > >vue中的slot與slot-scope

vue中的slot與slot-scope

<template>
    <div class="father">
        <h3>這裡是父元件</h3>
        <child>
            <div class="tmpl">
              <span>選單1</span>
              <span>選單2</span>
              <span>選單3</span>
            </div>
        </child
>
</div> </template>

子元件:

<template>
    <div class="child">
        <h3>這裡是子元件</h3>
        <slot></slot>
    </div>
</template>

具名插槽

父元件:

<template>
  <div class="father">
    <h3>這裡是父元件</h3>
    <child>
      <div
class="tmpl" slot="up">
<span>選單1</span> <span>選單2</span> <span>選單3</span> </div> <div class="tmpl" slot="down"> <span>選單-1</span> <span>選單-2</span> <span>選單-3</span
>
</div> <div class="tmpl"> <span>選單->1</span> <span>選單->2</span> </child> </div> </template>

子元件:

<template>
  <div class="child">
    // 具名插槽
    <slot name="up"></slot>
    <h3>這裡是子元件</h3>
    // 具名插槽
    <slot name="down"></slot>
    // 匿名插槽
    <slot></slot>
  </div>
</template>

作用域插槽 (slot待資料)

子元件:

<template>
  <div class="child">

    <h3>這裡是子元件</h3>
    // 作用域插槽
    <slot  :data="data"></slot>
  </div>
</template>
export default { data: function(){ return { data: ['zhangsan','lisi','wanwu','zhaoliu','tianqi','xiaoba'] } },}

單個插槽和具名插槽:不繫結資料,所以父元件是提供的模板要既包括樣式由包括內容的,上面的例子中,你看到的文字,“選單1”,“選單2”都是父元件自己提供的內容;

作用域插槽:父元件只需要提供一套樣式(在確實用作用域插槽繫結的資料的前提下)。


相關推薦

深入理解vueslotslot-scope (簡單易懂)

走在前端的大道上 插槽,也就是slot,是元件的一塊HTML模板,這塊模板顯示不顯示、以及怎樣顯示由父元件來決定。 實際上,一個slot最核心的兩個問題在這裡就點出來了,是顯示不顯示和怎樣顯示。 由於插槽是一塊模板,所以,對於任何一個元件,從模板種類的角度來分,其實都可以

vueslotslot-scope

<template> <div class="father"> <h3>這裡是父元件</h3> <child> <div class="tmpl">

QtSignalSlot引數問題

Referenced by: 應注意的問題 訊號與槽機制是比較靈活的,但有些侷限性我們必須瞭解,這樣在實際的使用過程中做到有的放矢,避免產生一些錯誤。下面就介紹一下這方面的情況。 1 .訊號與槽的效率是非常高的,但是同真正的回撥函式比較起來,由於增加了靈活性,

vue$emit$on

width nts pla b數 2.0 charset set code 位置   var Event = new Vue();      相當於又new了一個vue實例,Event中含有vue的全部方法;   Event.$emit(‘msg‘,this.msg);  

Vue實現後臺的數據交換(vue-resource)

交換 ins server img 展示 引入 oca 方式 文件夾 vue-resource是Vue.js的一款插件,它可以通過XMLHttpRequest或JSONP發起請求並處理響應。(但是目前它已經停止更新了) 1、在vue中安裝vue-resource插件 打開v

VUE datamethods區別

報錯 data back color 數據 con 全部 ack ken ``` let vm=new Vue({ //根實例 el:‘#app‘, data:{//都是數據 }, methods:{ // methods 和data中的數據會全部放到vm上,而且名字不

vue$router $route區別

vue-router中經常會操作的兩個物件\(route和\)router兩個。 1、$route物件 $route物件表示當前的路由資訊,包含了當前 URL 解析得到的資訊。包含當前的路徑,引數,query物件等。 **1.$route.path** 字串,對應當前路由的路徑,總是解析為絕

vuearouter-link

剛開始時貌似兩個標籤功能一樣,都可以實現路由跳轉,於是用了<a>。 1.在加入vuex進行元件間通訊後,發現在元件a中設定state某個引數後,點選<a>跳轉到元件b,state中這個引數又成了初始值! 通過查詢資料發現vuex只要重新整理了頁面,狀態不會保留。於是猜想用

vuemoutedmethods方法互相呼叫,以及vue使用setInterval呼叫methods方法

剛學習vue不久,下午做vue輪播小元件時遇到了mouted與methods中方法互相呼叫的問題. mouted呼叫methods中方法 mounted: function() { this.up(); } 在mouted中使用setInterval呼叫

使用slot-scope復制vueslot內容

slot for code scope sel vnode 語法 http wid 有時候我們的vue組件需要復制使用者傳遞的內容。 比如我們工程裏面的輪播組件需要使用復制的slot來達到循環滾動的效果 使用者關註輪播內容的靜態效果,組件負責讓其滾動起來 組件: &

vue的插槽(slotslot-scope

先說一下個人理解:vue頁面的組成主要靠父子元件的組合,而父子元件之間內容和訊息的傳遞主要靠的是slot props emit等實現。 從子元件向不向slot中傳遞資料的角度來看,插槽主要分為不帶資料的插槽和帶資料的插槽,而不帶資料的插槽又可以分為匿名插槽/單個插槽/預設插槽和具名插槽的

vue學習:props,scopeslot,ref,is,sync等知識點

更新 word new child slot pos 多個 message 拓展 1、ref :為子組件指定一個索引 ID,給元素或者組件註冊引用信息。refs是一個對象,包含所有的ref組件。 <div id="parent">   <user-p

vue學習:props,scopeslot,ref,is,slot,sync等知識點

.com rip borde 修飾符 AI var val 引用 lsp 1、ref :為子組件指定一個索引 ID,給元素或者組件註冊引用信息。refs是一個對象,包含所有的ref組件。 <div id="parent">  <user-profile r

vueslot的用法案例

pre arp array ops emp 圖片 bubuko template light <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g

vueslot理解和使用

姓名 很大的 電話 什麽 代碼 網上 The 標簽 工作 最近被vue 搞得一塌糊塗,理解的比較慢,工作進度進度要求太快,需求理解不明,造成了很大的壓力。 在理解Vue中的Slot的時候看了網上的相關內容,看了半天沒看到明白說的是什麽,然後自己就安裝了vue的相關環境,創建

vue的插槽slot

spa 綁定 第四次 htm span 不同 有一個 item lex 插槽(slot):是組件的一塊HTML模板,父組件決定這塊模板顯不顯示以及怎麽顯示。 位置由子組件自身決定(slot現在組件template的什麽位置,父組件傳過來的模板將來就顯示在什麽位置) 匿名插槽

vue的插槽slot理解

ner oot 但是 head child 如果 自動定位 顯示 靈活 本篇文章參考賽冷思的個人博客 1.函數默認傳參 在我們寫js函數我們的可能會給他們一個默認的參數,寫法是 function show(age,name){ var age = age || 20;

vueslot的理解

Slot的通俗理解 是“佔坑”,在元件模板中佔好了位置,當使用該元件標籤時候,元件標籤裡面的內容就會自動填坑(替換元件模板中<slot>位置),當插槽也就是坑<slot name=”mySlot”>有命名時,元件標籤中使用屬性slot=”mySlot”的元素就會替換該對應

vue 插槽slotprovide/inject跨元件傳值

vue 插槽slot 1. 預設插槽 const component = { template: ` <div :style="style"> <slot></slot> </div> `,

Vueslot插槽的簡單應用——input巢狀按鈕的效果

場景: 需要一種類似於把按鈕放在input最右邊的效果 解決辦法: 1,發現在Vue中怎麼巢狀都出不了效果,網上搜到的一種html寫法(但是和Vue中的el-table-column有些影響): <form role="form"> <div cla