Vue 子组件不能改变父组件传递过来的值

子组件只能使用这个Vue.emit(this.$emit) 触发父组件的自定义事件

this.$emit(event,arg) 这个方法触发当前实例的事件

this.$on(event,fn) 监听event事件后运行fn

 简单例子

子组件

props:["fruit"] (父组件传过来的)

用户操作触发了 this.$emit("user",arg) 

然后。。。执行下面的operate方法 arg是传参 

父组件

@user="operate" 父组件一直在监听user自定义事件(类似于click事件)

function operate(arg){

 this.xxx = arg  //这样子修改父组件

}

上面的方法只是第一种 在vue2.3 新增了一个.sync修饰符 (例如:  :user.sync="person")这样子会绑上一个update的事件 (同理于在父组件的自定义事件)

使用方法: 

子组件

props:["user"]

this.$emit("update:user","绑定在user上的値")

猜你喜欢

转载自blog.csdn.net/qq_39039128/article/details/87159936
今日推荐