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({}).

posted on 2018-08-24 18:52  向往回得来  阅读(231)  评论(0编辑  收藏  举报

导航