vue 判断页面是首次进入还是再次刷新的实例


Posted in Javascript onNovember 05, 2020

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

<template>
  <div>
   判断页面是首次进入还是再次刷新
  </div>
</template>
 
 <script>
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: {
   
  },
 
  }
</script> 

<style scoped> 
</style>

补充知识: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下修改:

<template>
 <div id="app" class="app">
  <transition :key="key">
  <router-view class="router-view"></router-view>
  </transition>
 </div>
 </template>
 <script type="text/ecmascript-6">
 // import {mapState} from 'vuex';
 export default {
  name: 'app',
  computed: {
  key() {
   return this.$route.name !== undefined ? this.$route.name + new Date() : this.$route + new Date();
  }
  }
 };
 </script>
// 就是在template下加一对标签<transition></transition> 加上key的属性,不过官网说 如果防止组件的复用就用这个 还是比较推荐这个方法的。

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

watch: {
 '$route' (to, from) {
  this.httpGetUserInfo(); // 这是我ajax获取用户信息的方法
 }
 }
 // 这样每次路由执行就会运行这个方法,第一次打开不会运行,你需要用created()方法来执行下ajax方法。

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

Javascript 相关文章推荐
js 固定悬浮效果实现思路代码
Aug 02 Javascript
jquery的选择器的使用技巧之如何选择input框
Sep 22 Javascript
jQuery中$.click()无效问题分析
Jan 29 Javascript
Node.js编程中客户端Session的使用详解
Jun 23 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 Javascript
jQuery中JSONP的两种实现方式详解
Sep 26 Javascript
AngularJS中$apply方法和$watch方法用法总结
Dec 13 Javascript
JavaScript和jQuery制作光棒效果
Feb 24 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
jQuery实现表格的增、删、改操作示例
Jan 27 jQuery
JavaScript中this用法学习笔记
Mar 17 Javascript
leaflet加载geojson叠加显示功能代码
Feb 21 Javascript
vue created钩子函数与mounted钩子函数的用法区别
Nov 05 #Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
Nov 05 #Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
Nov 05 #Javascript
如何利用vue实现波谱拟合详解
Nov 05 #Javascript
关于Vue中$refs的探索浅析
Nov 05 #Javascript
JavaScript 实现轮播图特效的示例
Nov 05 #Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
Nov 05 #Javascript
You might like
基于mysql的论坛(4)
2006/10/09 PHP
php模块memcache和memcached区别分析
2011/06/14 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
了解前端理论:rscss和rsjs
2019/05/23 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
深入解析Python中的WSGI接口
2015/05/11 Python
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
tornado+celery的简单使用详解
2019/12/21 Python
python opencv如何实现图片绘制
2020/01/19 Python
利用python 下载bilibili视频
2020/11/13 Python
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
《骑牛比赛》教后反思
2014/04/22 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
副处级干部考察材料
2014/05/17 职场文书
新闻稿件写作范文
2015/07/18 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书