wacth监听是值改变才会执行,那么组件传值,值没变,这时候需要进行操作,怎么办呢?

看似这个问题是无解的,组件传值,值没变,然后启用了keep-alive,生命周期函数,只有初次有效。这时候该怎么去解决这个问题呢?

思路: 我们让传值的这个字段发生变化,并且只要操作了,就让他与众不同。

怎么与众不同呢,拼接随机数? 随机数也是可以相同的; 我们可以拼接时间。在传值前进行拼接,这时候永远都会执行watch监听,然后在watch监听中进行截取。

父组件中:(引入子组件,并传值)
在这里插入图片描述
在这里插入图片描述
子组件watch监听中:
在这里插入图片描述

这里注意,如果界面进行缓存了,在tab切换,生命周期失效的时候,在父组件的钩子函数中进行一次截取再拼接(tab切换数据是被keep-alive进行缓存了的)

父组件中添加路由钩子函数,对缓存的值进行改变
在这里插入图片描述

本文是利用了一个小技巧,传值的唯一性来解决的。 如果您有更好的方法,留言分享下,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值