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 相关文章推荐
一个简单的JavaScript 日期计算算法
Sep 11 Javascript
javascript sudoku 数独智力游戏生成代码
Mar 27 Javascript
JavaScript中提前声明变量或函数例子
Nov 12 Javascript
JavaScript中的DSL元编程介绍
Mar 15 Javascript
javascript+HTML5自定义元素播放焦点图动画
Feb 21 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
Oct 14 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 Javascript
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
May 26 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
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
使用Python写CUDA程序的方法
2017/03/27 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
应届电子商务毕业自荐书范文
2014/02/11 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
春节慰问简报
2015/07/21 职场文书
思品教学工作总结
2015/08/10 职场文书
远程教育学习心得体会
2016/01/23 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫