15.作用域插槽的使用

作用域插槽

作用:父组件提供标签进行渲染,子组件提供数据

用法:通过给子组件模板,slot标签添加属性:data="数据",这里的data变量名可以随便起,然后在父组件中引用这个data变量,首先,父组件中需要通过template进行包裹,然后使用v-slot:default="slot",来获取子组件的实例对象,这里的slot名字可以随便起,然后在下面调用的时候,需要通过slot.data.数据的方式进行调用,就能拿到子组件的数据了。

<div id="app">
        <cpn1></cpn1>
        <cpn1>
            <template v-slot:default="slot">
                <ol>
                    <li v-for="item in slot.data">{{ item }}</li>
                </ol>
            </template>
        </cpn1>
    </div>
    <template id="cpn">
        <div>
            <slot :data="movies">
                <ul>
                    <li v-for="item in movies">{{ item }}</li>
                </ul>
            </slot>
        </div>
    </template>
    <script>
        let cpn1 = {
            template: "#cpn",
            data() {
                return {
                    movies: ['海王', '海贼王', '海尔兄弟']
                }
            }
        }
        var vm = new Vue({
            el: '#app',
            data: {},
            methods: {},
            components: {
                cpn1
            }
        });
    </script>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装...
    youins阅读 9,709评论 0 13
  • 【2019-3-4更新】Vue 2.6+修改了部分语法,对插槽的使用有了较多的更新。在本文中笔者在相应位置给出了更...
    果汁凉茶丶阅读 10,519评论 2 36
  • HTML5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5? *HTML5 现...
    小程要谦虚阅读 785评论 1 8
  • VUE介绍 Vue的特点构建用户界面,只关注View层简单易学,简洁、轻量、快速渐进式框架 框架VS库库,是一封装...
    多多酱_DuoDuo_阅读 2,861评论 1 17
  • 作用域插槽,乍看上去似乎很深奥的样子。其实如果把它的作用说出来,也就不难理解了。我们先回忆一下上一节课的内容,我们...
    独绽2018阅读 511评论 0 6

友情链接更多精彩内容