插槽的分类与使用
插槽
- 让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于 父组件 ===> 子组件
- 分类:默认插槽、具名插槽、作用域插槽
3. 使用方式
1. 默认插槽
vue 父组件中: <Demo> <div>html结构1</div> </Demo> 子组件中: <template> <div> <!-- 定义插槽 --> <slot>默认插槽内容。。。</slot> </div> </template>
2. 具名插槽
vue 父组件中: <Demo> <!-- v-slot可以简写为slot 简写和不简写区别是不同的 --> <template slot="demo1"> <div>html结构1</div> </template> <template v-slot:demo2> <div>html结构2</div> </template> </Demo> 子组件中: <template> <div> <slot name="demo1"></slot> <slot name="demo2"></slot> </div> </template>
3. 作用域插槽
* 理解:数据在组件的自身,但数据生成的结构需要组件的使用者来决定的。
* 具体编码
vue 父组件中: <Demo> <!-- 拿插槽传过来的数据可以简写也可以不简写 写法一致-> <!-- 如果data是一个对象的话,我们可以使用解构 来方便操作数据 --> <!--简写--> <template scope="data"> <ul> <li v-for="item in data.xxx"></li> </ul> </template> <template v-solt:d1 slot-scope="data"> <h4 v-for="item in data"></h4> </template> </Demo> 子组件中: <template> <div> <slot></slot> <slot name="d1"></slot> </div> </template> <script> export default { name: "Demo", data() { return { data: ['text1', 'text2', 'text3'] } } } </script>
本文作者:HuangBingQuan
本文链接:https://www.cnblogs.com/bingquan1/p/15851793.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步