1、父传子、子传父、bus传值
父传子:props来接收,props可以说对象,也可以是数组,推荐使用对象,可设置默认数据
props:{
title:{
type: 类型,
default: '默认数据',
required: true 必须传值,必填的,不然会报错
}
}
当结束props数据时候,最好是在data或者computed这两个里面接收,可以对数据进行处理
要想通过props改变父组件传递过来的值
通过添加sync属性配合$emit实现父子通讯的双向数据流:
父组件:
<Fu :title.sync="title" />
子组件:
this.$emit('update:title', 'wzl123')
父传子,通过
parent:子组件直接获取父组件实例,$children:父组件直接调用子组件,ref:通过ref给dom组件实例
this.$emit('要派发的自定义事件名',要传递的值)
<ZI ref="dialog" />
JS中通过this.$refs.名子访问
例如:this.$refs.dialog
如何在父组件中直接调用子组件的方法?
this.$Children
home.vue父组件
Dialog.vue子组件
如何在子组件中直接调用父组件的方法?
this.$parent.方法()
兄弟通讯 Bus、vuex、localstorage
导出一个空的vue实例
import Vue from 'vue'
const Bus = new Vue();
export default Bus;
在main.js中注入bus
//引入bus
import Bus from './utils/bus'
// 挂载到Vue原型上
Vue.prototype.$bus = Bus;