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

21 篇文章 0 订阅

子组件只能使用这个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上的値")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,组件无法直接修改组件传递过来,因为Vue是单向数据流的。组件的数据会向下流动到组件中,但组件无法直接影响组件的数据。这是为了防止数据流混乱和难以理解。根据Vue官方文档的说法,系prop的更新会向下流动到组件中,但反过来是不行的。这样可以避免组件意外地修改组件的状态,从而使数据流向变得难以理解。 在Vue开发中,我们通常采用组件触发组件中的方法来修改组件。一种常用的方法是通过props将组件的方法传递组件组件可以通过props接收并直接触发组件的方法来实现修改组件。 另外,组件还可以通过将组件的数据作为参数发送给组件,从而实现组件组件传递数据。 总结起来,要在Vue中实现组件改变组件传递过来,可以通过以下方法: 1. 通过props将组件的方法传递组件,在组件中通过props接收并触发组件的方法来修改组件。 2. 组件可以将自己的数据作为参数发送给组件,以实现组件组件传递数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue组件更改组件数据](https://blog.csdn.net/ct5211314/article/details/124280896)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值