遇见的一些问题汇总(vue篇)

本文探讨了Vue组件间通信问题的解决方案,包括如何强制刷新子组件以更新数据、合理利用EventBus处理滚动监听事件、优化下拉框切换时的数据传递,以及避免第一级组件值传递导致的覆盖问题。还介绍了Vuex在状态管理中的应用。

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

1. 强制刷新子组件问题

想要实现的效果:某一时刻将某个id传入子组件内,想让子组件内用到该id的方法再次调用,重新获取数据,
遇见的问题:某一时刻传入了id,也接受到了但是方法没有再次调用,只有再次刷新页面时才会刷新数据
问题所在:父组件传值,子组件接收到值后,虽然数据变化,但是方法不会再次调用
解决方法:父组件内将组件先v-if设置为true,传值前设置为false,传值后在nextTick设为true即可,强制刷新子组件。

2. eventbus传值问题

想要实现的效果:滚动时监听,滚动到一定情况下,改变图标的形状
遇见的问题:之前有部分代码是类似的效果,想着在监听一遍
问题所在:eventbus可以在多处监听
解决方法:再写一个监听即可,不用再写触发

3. 切换value的值

想要实现的效果:下拉框切换时,展示不同的列表,传的参数也发生相应的变化
遇见的问题:每个值切换时有自己的方法
问题所在:冗余代码很多
解决方法:切换时,data中的数据变化,使用data中变化的数据进行传值。

4. 第一级组件传值第三级组件覆盖问题

想要实现的效果:第一级组件给第二级组件传值,再传值到第三级组件,第三级组件接收传值,改变第三级组件的宽度。第二级和第三级组件都会循环。
遇见的问题:第三级组件会接收到值,次数也对,但是接收到的都是最后一次值得重复
问题所在:应该是传值过程中最后一次的传值覆盖了之前的值
解决方法:在第二级组件中,接收值后再进行加工处理,再传到第三级组件中,这样得到的值就不会再覆盖。

5. vuex的使用

想要实现的效果:无
遇见的问题:无
问题所在:无
解决方法:Mutations在组件方法中注册, …mapMutations([‘xxx’]),然后通过commit调用,this.$ store.commit(‘xxxx’)。
Action在组件方法中注册, …mapActions([‘xxx’]),然后通过dispatch调用,this. $ store.dispatch(‘increment’)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值