美文网首页
VUE07--{插槽}

VUE07--{插槽}

作者: MickeyMcneil | 来源:发表于2018-08-20 09:02 被阅读21次

定义

定义子组件的时候,在子组件内部刨了一个坑(<slot></slot>),父组件想办法往坑里填内容。

单个插槽

定义:子组件中<slot></slot>
使用:父组件使用带有插槽组件时,父组件中对应的内容,会插入插槽中显示

    <div id="app">
        <!-- 2. 父组件,往坑里填内容 -->
        <son>
            苍茫惊现青狐妖
        </son>
    </div>
    <script>
        // 1. 子组件,内部刨坑,<slot></slot>
        Vue.component("son", {
            template: `<div>
                暗夜步出竹林桥
                <slot></slot>    
            </div>`
        })
        var vm = new Vue({
            el: "#app",
            data: {
                
            },
        })
    </script>

多个(具名)插槽

定义:子组件挖坑<slot name='lyric'></slot>
使用:父组件使用<p slot='lyric'>苍茫惊现青狐妖</p>

    <div id="app">
        <!-- 2. 父组件,往坑里填内容,slot值要和子组件坑里的name值对应 -->
        <son>
            <p slot="slotA">苍茫惊现青狐妖</p>
            <p slot="slotB">锦绣织缎裹素腰</p>
        </son>
    </div>
    <script>
         // 1. 子组件,内部刨坑,<slot></slot>,因为定义了多个slot,所以要为每个slot起name名称
        Vue.component("son", {
            template: `<div>
            暗夜步出竹林桥
            <slot name='slotA'></slot>   
            <slot name='slotB'></slot>   
            </div>`
        })
        var vm = new Vue({
            el: "#app",
            data: {
                
            },
        })
    </script>

作用域插槽

定义:子组件挖坑时,可以通过【属性传值】的方式,为插槽传递数据
使用:父组件使用插槽时,通过定义slot-scope='value'属性,接收子组件传来的插槽数据
同一组件,不同插槽的作用域,是独立的

    <div id="app">
        <!-- 2. 父组件,往坑里填内容。内容通过slot-scope从子组件拿到 -->
        <son>
            <p slot="slotA" slot-scope="data">{{data}}</p>
            <hr>
            <p slot="slotB" slot-scope="data">{{data.lyc.second}}</p>
        </son>
    </div>
    <script>
        Vue.component('son', {
            // 1. 子组件挖坑。挖坑同时,【属性传值】给插槽。slotA--直接定义在属性的值,soltB--从data中取出的值
            template:  `<div>
                <slot name='slotA' lyc='暗夜步出竹林桥'></slot>
                <slot name='slotB' :lyc='lycData'></slot>
            </div>`,
            data () {
                return {
                    lycData: {
                        second: '苍茫惊现青狐妖',
                        third: '锦绣织缎裹素腰',
                    }
                }
            }
        })
        var vm = new Vue({
            el: "#app",
            data: {
                
            },
        })
    </script>

相关文章

  • VUE07--{插槽}

    定义 定义子组件的时候,在子组件内部刨了一个坑( ),父组件想办法往坑里填内容。 单个插槽 定义:子组件中 使...

  • vue----slot插槽

    插槽分类 匿名插槽 具名插槽 作用域插槽

  • vue中slot插槽的使用

    插槽的种类:1、默认插槽、具名插槽、作用域插槽、解构插槽、动态插槽几种。转原文:https://www.jians...

  • vue3中的插槽

    插槽 默认插槽 具名插槽,v-slot可以简写为# 动态插槽 #[dynamicSlotName] 作用域插槽(...

  • 2.插槽

    匿名插槽 具名插槽 作用域插槽

  • 深入理解vue中的slot与slot-scope(自 2.6.0

    单个插槽 | 默认插槽 | 匿名插槽首先是单个插槽,单个插槽是vue的官方叫法,但是其实也可以叫它默认插槽,或者与...

  • vue 插槽 slot

    插槽使用 普通插槽 具名插槽 使用具名插槽 从插槽里面传值出来如何接收? 如: 如何判断某个插槽是否被使用 组件内...

  • vue插槽

    默认插槽(没有名字的插槽) 具名插槽(带名字的插槽) 老版 2.6.0以前 新版 作用域插槽(父组件可以获取子组件...

  • Vue总结4-插槽,Vuex,VueRouter

    1.插槽 1.1匿名插槽 52-Vue组件-匿名插槽 ...

  • 组件化高级

    插槽 什么是插槽 生活中有很多地方都有用到插槽,比如电脑的USB插槽,插板上的电源插槽,目的是让我们原来的设备具备...

网友评论

      本文标题:VUE07--{插槽}

      本文链接:https://www.haomeiwen.com/subject/nwhkiftx.html