2-6 vue 匿名插槽-slot

匿名插槽-slot

Slot插槽 —— 实现内容分发

  • 什么是slot?

    • slot的意思是插槽,其目的在于让组件的可扩展性更强。
    • 打个比方说:假如父组件需要在子组件内放一些DOM,那么这些DOM是显示、不显示、在哪个地方显示、如何显示,就是slot分发负责的。
  • <strong>匿名solt</strong>

    • 下面这个示例是一个匿名slot,它只能表示一个插槽:
<body>

<div id="app">
    <my-component>
        <div>
            ![](images/pic1.jpeg)
            <p>测试内容</p>
        </div>
    </my-component>
</div>

<!--自定义组件-->
<template id="my-component">
    <div>
        <div id="panel_header">面板头部</div>
        <slot>匿名插槽,可以放任何标签, 默认就显示提示内容</slot>
        <div id="panel_footer">面板尾部</div>
    </div>

</template>

</body>

<script src="js/vue.js"></script>
<script>
    //注册组件
    Vue.component('my-component', {
       template: '#my-component'
    });

    //实例化
    new Vue({
        el:'#app'
    });
</script>

结合上述案例,我们再进一步来了解:比如我们定制了一个button组件,在根组件里注册为vButton,从而复用。那么各个button上的文字肯定是不同的,但是这些文字大部分情况下也是不需要动态更新的,那么就不必用props之类的方法从根组件向子组件传递文字,直接用slot即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,082评论 0 29
  • 9.1 什么是组件? 组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,...
    白水螺丝阅读 819评论 0 2
  • 此文基于官方文档,里面部分例子有改动,加上了一些自己的理解 什么是组件? 组件(Component)是 Vue.j...
    陆志均阅读 3,870评论 5 14
  • 什么是组件 组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用...
    angelwgh阅读 791评论 0 0
  • 我不是一个优秀的人,平凡而又简单,偶尔也会生气,也会看着偶像剧默默流泪。偶尔也会找S先生倾诉工作的辛苦。偶尔也会安...
    南瓜土豆饼阅读 241评论 4 4