vue中父子组件以及兄弟组件的传值情况?
1.父向子传递?
首先父组件中定义了某个值name:张三,要想把这个值传递给子组件,这时子组件要想接收父组件的值则需要在自身组件上<son:myname="name"></son>,并需要在自身组件内用props:['myname']来定义。
2.子组件向父组件传递?
首先父组件在自身data上定义一个空的名字mysonname:' ',这时子组件在自身data上定义myname:"zhangsan",子组件要想把自己的名字传递给父组件则需要,在自身按钮上注册事件@click='tellname',由此在自身方法中注册该方法tellname(){this.$emit('callname',this.myname); }使用,这时在子组件标签中加入<son @callname="getname"></son>,在父组件中的methods方法中执行getname(){ this.mysonname=data}.
3.兄弟组件传值?
首先分别定义各自组件A.B组件,在B组件data中定义myname:"zhangsan",在自身模板按钮中注册点击事件@click="callsonname",并在自身方法中处理该方法callsonname(){ evevtbus.$emit('getmyname',this.myname)},父组件要想接收则需要在自身组件data上定义mydauname:'',
并用中间桥梁组件接收,使用mounted(){eventbus.$on('getmyname',data=>{this.mydauname=data})},
中间桥梁组件是:var eventbus=new Vue({}).