开发项目的时候突然接到了这个需求,实验过后,解决方法也蛮多,种下面就讲下常规的几种方案
通过改变,router-view中的,键值,来达到刷新组件的目的
& lt; router-view:关键=" activeDate "祝辞& lt;/router-view> 这一点。activeDate=新的日期() >之前
通过,nextTick美元(),协助实现。先把,& lt; router-view/比;移除,移除后再重新添加,达到刷新当前页面的功能。
& lt; router-link:=@click.native“url”=八⑿隆弊4且趁? & lt;/router-link> & lt; router-view v=肮臁?比; & lt; script> 出口默认{ 数据(){ 返回{ 国旗:真 } }, 方法:{ refresh () { 这一点。国旗=false//通过v移除router-view节点 美元。nextTick(()=比;{ 这一点。国旗=true//DOM更新后再通过v添加router-view节点 }) } } } & lt;/script> >之前
刷新。vue//新建页面 & lt; script> 出口默认{ beforeRouteEnter(下),从{ 下(vm=比;{ vm。美元router.replace (from.path) }) } } & lt;/script> 演示。vue//然后在需要的页面调用 美元。router.replace ({ 路径:/刷新, 查询:{ t: Date.now () } }) >之前<强> 强>
<强> 强>
<强> 强>
定义ref,然后调用相对应的方法,最好给每个页面都提供相同的方法
这个。$ refs.chartView.refresh ()就解决了点击当前路由没有刷新的问题
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Vue刷新当前路由的实现代码