vue2.0子组件修改父组件props数据的值

Posted zhaozhenzhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue2.0子组件修改父组件props数据的值相关的知识,希望对你有一定的参考价值。

从vue1.0升级至2.0之后 prop的.sync被去除 因此直接在子组件修改父组件的值是会报错的如下:

技术分享图片

 

目的是为了阻止子组件影响父组件的数据
那么在vue2.0之后 如何在子组件修改父组件props传过来的值呢?
思路是通过子组件$emit发射一个方法  如下:

this.$emit(‘imgDataCallback‘, callbackUrl);

在父组件使用子组件的地方用v-on绑定这个自定义事件 如下:

技术分享图片

 

然后在父组件定义这个方法

 //获取imgurl
        getImgData: function(obj) {
            console.log(obj);
            this.addForm.bannerImg = obj;
        },

 

虽然这种方式可以修改父组件数据,但是官方是不推荐在组件内修改通过props传入的父组件数据,而是推荐使用vuex

本人vuex用的比较菜

 







以上是关于vue2.0子组件修改父组件props数据的值的主要内容,如果未能解决你的问题,请参考以下文章

vue2.0父子组件通信以及同级组件通信

vue2.0 组件通信

子组件修改父组件props传的值

vue2.0嵌套组件之间的通信($refs,props,$emit)

vue2.0非父子间进行通讯

Vue.js2.0中子组件修改父组件传递过来的props,并不影响父组件的原始数据