Vue.slot插槽

image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="../vue.js"></script>
    
    <div id="app">
        <!-- 单个插槽 -->
        <swiper>
            <!-- 内容可以改变 -->
            <!-- 把父组件里的内容混到子组件里 -->
            <!-- 内容分发 -->
            <!-- 可以访问到父组件状态 -->
            <ul>
                <li v-for="data of dataList"> {{data}} </li>
            </ul>
        </swiper>

        <!-- 具名插槽 -->
        <test>
            <!-- 给插槽起名字 -->
            <div slot="a">aaaaaaaaaaa</div>
            <div slot="b">bbbbbbbbbbb</div>
            <div slot="c">ccccccccccc</div>
        </test>
    </div>

    <script>

        Vue.component("test",{
            template: `
                <div>
                    <div style="background:yellow">第一部分
                        <slot name="a"></slot>
                    </div>
                    <div style="background:red">第二部分
                        <slot name="b"></slot>
                    </div>
                    <div style="background:blue">第三部分
                        <slot name="c"></slot>
                    </div>
                </div>
            `,
        })

        Vue.component("swiper",{
            // slot接管swiper里的内容
            template: `
                <div>
                    <slot></slot> 
                </div>   
            `
        })
        new Vue({
            el: "#app",
            data:{
                dataList: [111,222,333]
            }
        })
    </script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容