Vue 之 页面刷新、跳转方法
一、页面刷新1、window.location.reload();和this.$router.go(0)偶尔页面会闪烁一下,用户体验不好2、provide/inject :不会出现空白页面App.vue中声明reload方法,是使用isRouterAlive来控制路由的显示和隐藏,从而实现当前页面再加载了一遍,实现了刷新#(1)在App.vue页面中声明reload方法:...
·
一、页面刷新
1、window.location.reload();和this.$router.go(0)
偶尔页面会闪烁一下,用户体验不好
2、provide/inject :不会出现空白页面
App.vue中声明reload方法,是使用isRouterAlive来控制路由的显示和隐藏,从而实现当前页面再加载了一遍,实现了刷新
# (1)在App.vue页面中声明reload方法:
<template>
<div id="app">
<router-view v-if='isRouterAlive' />
</div>
</template>
<script>
export default {
name: 'App',
provide(){
return{
reload:this.reload
}
},
data(){
return{
isRouterAlive:true,
}
},
methods:{
reload(){
this.isRouterAlive = false ;
this.$nextTick(function(){
this.isRouterAlive = true ;
})
}
}
}
</script>
# (2)需要刷新页面,注入 reload方法
<template>
<div id='test'>
<button @click='refresh()'>XXXXX</button>
</div>
</template>
<script>
export default{
name:'test',
inject:['reload'], # 引入reload方法
methods:{
refresh(){
this.reload(); # 直接使用reload方法
}
}
}
</script>
二、跳转方法:
1、导航式路由跳转:
<router-link to="/"></router-link>
router-link(导航标签跳转) 解析后 是 a标签 ,可以通过 .router-link-active 更换样式,
# 可以通过tag属性 设置router-link的取代标签
<router-link to="/" tag="p"></router-link> #router-link标签将会被p标签替换
2、编程式路由跳转:
this.$router.go(-1) # 返回上一个记录
this.$router.push("/xxx") # 跳转至某一页面
更多推荐
已为社区贡献2条内容
所有评论(0)