美文网首页
插槽学习

插槽学习

作者: 若沫成海 | 来源:发表于2019-06-10 15:28 被阅读0次

1.插槽
子组件<child>里的内容不会被渲染,子组件template中加入<slot>元素占位便能渲染父组件<child>标签下的内容,<slot>标签内可放默认展示内容

<div id='root'>
        <child>
            <p>hello</p>
        </child>
    </div>
    <script>
        Vue.component('child',{
            props:['content'],
            template:'<div><p>helloo</p><slot></slot></div>'
        })
        var vm = new Vue({
            el:'#root'
        })
    </script>

2.具名插槽
当需要多个插槽时,可以使用<slot>的特性:name

    <div id='root'>
        <child>
            <div class="header" slot='header'>header</div>
            <div class="footer" slot='footer'>footer</div>
        </child>
    </div>
    <script>
        Vue.component('child',{
            props:['content'],
            template:'<div><slot name="header"></slot><p>helloo</p><slot name="footer"></slot></div>'
        })
        var vm = new Vue({
            el:'#root'
        })
    </script>

3.作用域插槽
调用了两次child组件,因为调用的是同一个子组件,所以显示的内容完全一样。作用域插槽的作用是在每次调用时能有各自的渲染效果。

<div id="root">
        <child>
            <template slot-scope="props"><!--定义一个插槽,该插槽必须放在template标签内-->
                <li>{{props.value}}</li><!--定义使用渲染方式-->
            </template>
        </child>
        <child>
            <template slot-scope="props">
                <h1>{{props.value}}</h1><!--定义不同的渲染方式-->
            </template>
        </child>
    </div>
    <script>
        Vue.component('child',{
            data: function(){
                return {
                    list:[1,2,3,4]
                }
            },
            template: `<div>
                            <ul>
                                <slot v-for="value in list" :value=value>//使用slot占位
                                </slot>
                            </ul>
                        </div>`
        })
        var vm=new Vue({
            el: '#root'
        })
    </script>

原文:https://blog.csdn.net/willard_cui/article/details/82469114

相关文章

  • vue插槽之$slots、$scopedSlots

    在学习vue插槽的时候,将匿名插槽,具名插槽,作用域插槽都实践了一遍,但是却碰到一些问题,请看代码子组件: 父组件...

  • 插槽学习

    1.插槽子组件里的内容不会被渲染,子组件template中加入 元素占位便能渲染父组件...

  • 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组件-匿名插槽 ...

网友评论

      本文标题:插槽学习

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