vue判断当前是哪个页面_vue 判断页面是首次进入还是再次刷新的实例

我就废话不多说了,大家还是直接看代码吧~

判断页面是首次进入还是再次刷新

export default {

data(){

return{

}

},

mounted () {

//第一种方法

// if(window.name == ""){

// console.log("首次被加载");

// window.name = "isReload"; // 在首次进入页面时我们可以给window.name设置一个固定值

// }else if(window.name == "isReload"){

// console.log("页面被刷新");

// }

//第二种方法

if (window.performance.navigation.type == 1) {

console.log("页面被刷新")

}else{

console.log("首次被加载")

}

},

methods: {

},

}

补充知识:VUE-Router 同一页面第二次进入不刷新 问题以及几个解决方案

最近正好遇到一个问题,修改用户的头像,修改后再进入用户主页,发现改了之后即使数据变了。。页面也不会重新渲染。。。

下面提供集中解决方案来给予大家参考:

1. 可以在刷新的页面定义一个参数, 这样每次都会渲染出不同的页面:

route 实例化命名配置:

{

// 用户信息

path: '/accountDetail/:randKey',

name: 'accountDetail',

component: accountDetail,

meta: {requiresAuth: true}

},

跳转 的地方配置:

var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];

var maxLength = 15;

var res = '_jsonpphotochange';

for (var i = 0; i < maxLength; i++) {

var id = Math.ceil(Math.random() * 35);

res += chars[id];

}

// res 为随机字符串,下面是跳转:

this.$router.push('/accountDetail/' + paramsAccount);

2. 可以让全局的页面都重载,这个比较狠冗余也多,慎重点用:

在App.vue下修改:

// import {mapState} from 'vuex';

export default {

name: 'app',

computed: {

key() {

return this.$route.name !== undefined ? this.$route.name + new Date() : this.$route + new Date();

}

}

};

// 就是在template下加一对标签 加上key的属性,不过官网说 如果防止组件的复用就用这个 还是比较推荐这个方法的。

3. watch 来检测路由变化。。缺点是,有时候会莫名出现 点两次的情况,也就是你要跳转会跳转两次。。有人说是进来会执行一次跳转回执行一次,不过我觉得不太像。。希望有能人士指点。。

watch: {

'$route' (to, from) {

this.httpGetUserInfo(); // 这是我ajax获取用户信息的方法

}

}

// 这样每次路由执行就会运行这个方法,第一次打开不会运行,你需要用created()方法来执行下ajax方法。

以上这篇vue 判断页面是首次进入还是再次刷新的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持随便开发网。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值