此方法与Prop类似,区别在于Prop用于子父之间传值,而当前所介绍的方法为任意组件可相互调用定义的属性。
我用此方法需要解决的问题是当我点击一个按钮,需要改变另一个组件的样式,因为我做的是主题切换,很多样式是不能放在一起的。实现就是需要将点击按钮时的一个判断值传入另一个组件,调用方法通过判断值改变样式。具体实现为:
1.定义一个公共的js
import Vue from 'vue'
export default new Vue()
2.在两个组件中都引入此js
import PublicFunction from '../../publicFunction'
3.定义按钮方法
show = true
beta() {
PublicFunction.$emit('demo', this.show)
this.show = !this.show
}
我设置了一个点击事件,点击时触发beta函数,并将方法写入引入的js,传入的参数就是show
4.调用方法
beta(show) {
if (show) {
this.defaultBackgroudColor = 'rgb(184,183,183)'
} else {
this.defaultBackgroudColor = 'rgb(247,247,247)'
}
}
mounted() {
PublicFuncti