VueJS之组件通信、插槽、Element-ui

本文介绍了Vue.js中组件间的通信方式,包括父传子通过属性绑定,子传父使用$emit触发事件,以及使用EventBus进行任意组件通信。此外,还讲解了插槽的概念,如匿名插槽、具名插槽和作用域插槽的使用。最后提到了ElementUI,这是一个由饿了么团队开发的PC端UI组件库,文章说明了其安装、引入和基本使用方法。
摘要由CSDN通过智能技术生成

组件通信

父传子

父组件

<子组件 属性名="值" :属性名="动态数据" ...></子组件>

子组件

export default {
    //对象的方式  吐血推荐
    props:{
        属性名:{
            type:数据类型,(Number/String/Boolean/Array...),
            default:默认值,
            required:true,//必填项
        },
    	...
    }
}
子传父

子组件

this.$emit('自定义事件','要传递的数据')

父组件

<子标签 @自定义事件="函数"></子标签>
export default {
	methods:{
		函数名(data){
			//data子组件传递过来的数据
		}
	
	}
} 
BUS乱传(任意组件通信)

1.在main.js中,vue的实例对象并且挂载vue的原型对象上

Vue.prototype.$bus=new Vue();//挂载原型对象上  每个组件都可以使用$bus

2.传递数据

this.$bus.$emit('自定义事件','要传递的数据')

3.接收数据

created(){
	//监听
    this.$bus.$on("自定义事件",(data)=>{
        //data传递过来的数据
    })
}

4.缺陷

1.在实际开发过程,不建议使用乱穿。大量使用乱传,不好维护。

2.必须2个组件同时展示出来。

插槽—留个坑,使用者来填

匿名插槽

没有名字的坑

//留了一个坑  没有名字的坑
<slot>
   默认值
</slot>
具名插槽–至少2个坑

有名字的坑

<slot name="名字"></slot>
<slot></slot>
作用域插槽

带数据的坑

//带数据的坑
<slot :属性名="动态的值" 属性名="值" ...></slot>

<template slot-scope="变量名">
    {{变量名.属性名}}
    ...
</template>

Element-ui

是饿了么前端团队开发设计基于pc端一套ui组件库

安装
npm i element-ui
yarn add element-ui
引入

在main.js中

import ElementUI from 'element-ui';//导入element-ui
import 'element-ui/lib/theme-chalk/index.css';//导入element-ui的样式
Vue.use(ElementUI);//使用element-ui
使用–乾坤大挪移(cv)




#### 作用域插槽

带数据的坑

```js
//带数据的坑
<slot :属性名="动态的值" 属性名="值" ...></slot>

<template slot-scope="变量名">
    {{变量名.属性名}}
    ...
</template>

Element-ui

是饿了么前端团队开发设计基于pc端一套ui组件库

安装
npm i element-ui
yarn add element-ui
引入

在main.js中

import ElementUI from 'element-ui';//导入element-ui
import 'element-ui/lib/theme-chalk/index.css';//导入element-ui的样式
Vue.use(ElementUI);//使用element-ui
使用–乾坤大挪移(cv)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值