**
vue跳转同一路由,页面函数无法刷新,看了不少解决方法还是无用,下面说说我的解决放。
话不多少,说方法,在使用$router.push跳路由的时候,第一次可以执行方法,第二次跳同一个页面就会使函数不在渲染。
第一种,网上说用 watch来监听,函数都没执行怎么可能数据会渲染新数据所以 watch是不行的。
第二种,router.push 用 query与params传参数,这个不会刷新页面,只是不同的传值方法而已。
第三种,加时间戳,
var d=new Date();
this.$router.push({
name: “order_traveler”,
query: {t:d.getTime()},
});
这个方法还是不会使你的跳转的页面函数再次渲染,因为他会判断你的主键是同一个key,所以执行后不会渲染数据。
第四种,使用$route.fullPath加时间戳,他会判断组件和路由的属性都改变了吗,然后在去执行跳转的函数。
如下代码:
<router-view ref="addEnterprise" :key="$route.fullPath"></router-view>//组件
var d=new Date(); //定义时间戳
this.$router.push({
name: "order_traveler",
query: {t:d.getTime()},
});
这样就可以跳同一个页面,并且刷新数据了,希望对大家有用!!!!!!!!!!!!!!!