在vue1.0遇到vuex和v-model的坑

在使用Vue.js框架开发过程中,遇到组件中的数据与Vuex中的数据意外同步的问题。当组件中的数据对象与Vuex中定义的数据对象字段名一致时,通过v-model绑定的数据会直接修改Vuex的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事情是这样的,在开发项目的过程中我使用了vuex并且在store中定义了一个保存用户信息的对象

        userInfo : {
                    'nickName' : '',          // 昵称
                    'password' :'',           // 是否有密码
                    'gender' : '',            // 性别
                    'avatar' : '',            // 头像
                    'userAccount' : '',       // 账号
                    'birthday' : '',          // 出生日期
                    'cityName' : '',          // 城市
                    'email' : '',             // 邮箱
                    'mobile' : '',            // 手机号
                    'userId' : ''             // 用户id
                }
                              

然后在组件中也定义了一个一毛一样的对象完全一样,这样做是为了方便去store中用getter取值

this.userInfo = this.ache_getUserInfo;

现在我在这个组件中使用v-model绑定了 userInfo.nickName这个值,神奇的事情发生了,我input框输入值的时候,store里面的值也会随改变!

但是如果我的这个组件中的参数名和store中的不一样,就不会发生这种情况,比如我把nickName改为comNickName,然后在组件中绑定userInfo.comNickName就不会,也就是说组件中v-model绑定的值和vuex的store中的名字一样,那么他会影响store中的值。

=_=!!汗

转载于:https://www.cnblogs.com/longsiyuan/p/6252048.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值