验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

vue3中怎么刷新当前页面

阅读:925 来源:乙速云 作者:代码code

vue3中怎么刷新当前页面

1.业务场景

一般我们在删除或者编辑完表格数据的时候,会再次请求接口来刷新表格的数据。如果是同时有好几个接口需要请求,那就不能再每个接口挨个去调了。我们需要使用一种比较友好的方式来实现了。

2.实现思路

第一种最直观的就是直接刷新当前页面,比如使location.reload和$router.go(0)方法。但是这种方式会导致页面会有白屏情况,不友好。那么我们能不能刷新当前的vue组件呢?我们知道当vue的组件重新渲染以后它的整个生命周期会重新执行一遍,接口自然而然的也会重新请求一遍的。那么多如何刷新当前组件呢?首先是通过v-if来控制当前页面组件的渲染。在有router-view渲染组件的情况下,我们直接把v-if加在router-view上面。然后通过控制这个判断条件,比如我们就叫做isRouterAlive

那么这个判断条件如何控制呢?因为涉及到跨组件通信,所以需要使用provide/inject。在router-view组件中通过provide提供一个relaod方法,当删除或者编辑完成表格数据以后,使用inject触发reload方法。在reload方法里面我们来控制判断条件。当realod的时候isRouterAlive=false,紧接着在nextTick中设置为true,这样就可以实现组件重新加载了。

下面我们来看看代码逻辑的实现。

3.代码实现

首先修改router-view渲染组件




在table页面,这样实现:




分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>