当前位置: 首页 > Web前端 > vue.js

“后端朋友来学前端,”在Vue中使用Slot插槽也可以实现父子组件之间的通信

时间:2023-04-01 01:29:13 vue.js

.category{宽度:200px;高度:300px;background-color:pink;}前言Slots可以说是Vue中非常重要的一部分。在此过程中,当组件与插座一起使用时,它会发挥更好的作用。更多时候会更方便。今天给大家介绍一下Vue中的三种槽:默认槽、命名槽和作用域槽。环境准备首先搭建一个初始环境给大家看看。一步步走过这个插槽。就是写一个category组件,分别渲染这三种数据。分类组件.category{宽度:200px;高度:300px;background-color:pink;}App组件一开始是和上图一样的需求,现在业务需求变了,电影变成了只有其中一个,其他都是美食不推广,只推广食物,如下图所示:怎么改才合适呢?是不是在Category组件中加上if来一一判断?或者,还有更好的方法???无法一一判断,因为代码会变得非常复杂,难以阅读,而且以后如果业务需求需要改动,代码也不好搬。接下来是拉到默认插槽。1.默认slot我们不再需要在子组件中使用props来接收数据或者渲染,而是定义一个slot。应用组件也做了改变exportdefault{props:{}}父组件

食物

    {{item}}
效果展示说明:我们可以在组件中放多个slot,但是当有多个slot时,必须要命名,同时还要指定父组件,这样就不会放了。3.作用域slotscope插槽与之前的插槽略有不同。之前,数据在父组件中,而scopeslot是子组件中的数据,依次传递给父组件,让父组件定义渲染的结构。转换后的子组件父组件
    {{item}}

食物

<ol>{{item}}
<类别>

食品

{{item}}{{listData}}
过程中学习实践,没想到什么使用场景,不过官网上有案例。我想它一定有它存在的理由,但我知识太少,无法使用它。说明:在子组件中,值通过:变量名=”定义的数据”传递给父组件,父组件使用来接收它,因为它需要是.一级,只到
    {{item}}
后记让我们一起努力吧!!!文中如有不足之处,请及时指出,在此表示衷心的感谢。纸上谈兵的成果总是肤浅的,我知道这件事必须要做。大家好,我是博主宁在淳:一个热爱文艺却走上编程道路的首页青年。希望:当我们相遇时,我们将有所成就。