Vue 刷新问题解决

关前提醒:本人小白一枚,很多地方不懂,也可能很多地方说的不到位或者说错了请各位大佬多多理解,也望各位大佬不吝赐教!

在使用vue进行商品收藏的时候点击方法跳转过去发现数据不会被重新调用(之前网页已经加载过一次了)

调用方法如下:

        created() {
            alert('created');
            this.getUserId();
            this.getData();
        }

使用了keep-live

    <keep-alive>
      <router-view/>
    </keep-alive>

我就怀疑是不是他缓存了页面的数据啊,而且地址栏未发生变化,貌似created也只是在页面初次进入或刷新的时候有一个加载。

我就先将keep-live改为路径发生变化的时候加载

    <keep-alive>
      <router-view :key="$route.fullPath"/>
    </keep-alive>

<router-view :key="$route.fullPath"/>:当地址发生改变(包括参数改变)则重新渲染页面(例如动态路由参数的变化)

然后匹配keep-live的一个钩子函数

        activated(){
            alert('activated')
            this.getUserId();
            this.getData();
        }

activated():在vue对象存活的情况下,进入当前存在activated()函数的页面时,一进入页面就触发;可用于初始化页面数据等

发现加上keep-live和activated能大概解决数据方法的问题

每次进入页面的时候也会调用activated();

附上当时看的二个网页

router-view中绑定key='$route.fullPath' - alyssa-xu - 博客园

简单例子 讲解vue中activated的用法 - coderwhytop - 博客园

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值