首页 > 其他 > 详细

5-7组件及组件间的通信-slot内容分发

时间:2020-03-13 17:42:17      阅读:74      评论:0      收藏:0      [点我收藏+]

目录:

 

一、slot内容分发

  slot本意:位置、槽

  作用:用来获取组件中的原内容,它其实是一个组件,在Vue api中:slot

  slot分类:单个slot,具名slot

二、为什么要用slot内容分发?

根据我们之前学的东西,看下如下代码:

<body>
    <div id="box">
        <!--在引用组件内部,添加内容-->
        <my-hello>teacher gao is very handsome</my-hello>
    </div>
    
    <!--my-hello的引用模板-->
    <template id="hello">
        <div>
            <h3>欢迎来到高哥哥的博客园</h3>
        </div>
    </template>

    <script src="../vue.js"></script>
    <script>
        let vm = new Vue({
            el: "#box",
            components:{
                ‘my-hello‘:{  //局部组件my-hello
                    template: "#hello"
                }
            }
        });
    </script>
</body>    

看下页面输出结果:

欢迎来到高哥哥的博客园

我们再来看看 引用组件中间还有我们想要输出的内容,如下:

<my-hello>teacher gao is very handsome</my-hello>

那如何获取呐,这个时候就要用到 slot 内容分发了。

三、单个slot

单个slot,又叫匿名slot,它是没有名字的,会获取你引用组件中的内容,并且在页面上显示出来,例子如下:

<body>
    <div id="box">
        <my-hello>teacher gao is very handsome</my-hello>
    </div>

    <template id="hello">
        <div>
            <h3>欢迎来到高哥哥的博客园</h3>

            <!--引用单个slot组件,获取<my-hello>组件中间的内容-->
            <slot></slot>
        </div>
    </template>

    <script src="../vue.js"></script>
    <script>
       .....//上面的例子有
    </script>
</body>

输出内容如下:

欢迎来到高哥哥的博客园  #<my-hello>组件模板中h3显示的内容
teacher gao is very handsome  #<my-hello>teacher gao is very handsome</my-hello> 中间的内容

你看看,作用还是很大的吧。

 

5-7组件及组件间的通信-slot内容分发

原文:https://www.cnblogs.com/zhangqigao/p/12487496.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!