时间:2021-05-26
使用v-on绑定自定义事件可以让子组件向父组件传递数据,用到了this.$emit(‘自定义的事件名称',传递给父组件的数据)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="../js/vue.js"></script></head><body><div id="app"><parent-component></parent-component></div><template id="parent-component"><div> <p>总数是{{total}}</p> <child-component @increment="incrementTotal"></child-component> <!--@increment是子组件this.$emit('increment'自定义的事件用来告诉父组件自己干了什么事 然后会触发父子间incrementTotal的方法来更新父组件的内容)--></div></template><template id="child-component"> <button @click="increment()">{{mycounter}}</button></template><script> var child=Vue.extend({ template:"#child-component", data:function () { return { mycounter:0 } }, methods:{ increment:function(){ this.mycounter=10; this.$emit("increment",this.mycounter);//把this.mycounter传递给父组件 } } }) var parent=Vue.extend({ data:function () { return { total:0 } }, methods:{ incrementTotal:function(newValue){ this.total+=newValue; } }, template:"#parent-component", components:{ 'child-component':child } }) var vm=new Vue({ el:"#app", components:{ 'parent-component':parent } })</script></body></html>@increment是子组件this.$emit('increment'自定义的事件,newValue)用来告诉父组件自己干了什么事
同时还可以传递新的数据给父组件
然后会触发父子间incrementTotal的方法来更新父组件的内容)。
这里需要注意几个点:
1.
图中红色圈中的部分是对应的,子组件在自己的methods方法里面写自己的事件实现,然后再父组件里面写字组件时给子组件绑定上methods方法里面的
事件名称,要一一对应
这里自定义事件里面的要写父组件的方法名,父组件里面定义该方法。
父组件里面的方法可以接收子组件this.$emit('increment',this.mycounter);传递过来的数值:this.mycounter,
到父组件的方法里面就是newValue参数,这样就实现了子组件向父组件传递数据
以上所述是小编给大家介绍的vue子组件使用自定义事件向父组件传递数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.vue中各个组件之间传值1.父子组件父组件–>子组件,通过子组件的自定义属性:props子组件–>父组件,通过自定义事件:this.emit(′事件名′,参
一、父组件向子组件传递数据在Vue中,可以使用props向子组件传递数据。子组件部分:这是header.vue的HTML部分,logo是在data中定义的变量。
props是父组件用来传递数据的一个自定义属性。父组件的数据需要通过props把数据传给子组件,子组件需要显式地用props选项声明"prop"。父组件通过pr
在Vue中,父子组件的关系可以总结为props向下传递,事件向上传递。父组件通过props给子组件下发数据,子组件通过事件给父组件发送消息。看看它们是怎么工作的
vue-prop是父组件向子组件进行传递数据时使用的。例如子组件为child.vuetemplate:'msg:{{msg}}'props:['msg'],我们