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 URL锚点取值方法
Feb 25 Javascript
js中的window.open返回object的错误的解决方法
Aug 15 Javascript
写自已的js类库需要的核心代码
Jul 16 Javascript
nullJavascript中创建对象的五种方法实例
May 07 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
Nov 28 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
基于Vue开发数字输入框组件
Dec 19 Javascript
vue+element-ui+ajax实现一个表格的实例
Mar 09 Javascript
加快Vue项目的开发速度的方法
Dec 12 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
May 10 Javascript
JS+CSS实现过渡特效
Jan 02 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错误、异常处理类
2014/03/21 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
javascript 特殊字符串
2009/02/25 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
script标签属性用type还是language
2015/01/21 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
js匿名函数使用&amp;传参(实例)
2017/09/08 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
Python实现配置文件备份的方法
2015/07/30 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
Python中new方法的详解
2019/01/15 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
python在不同条件下的输入与输出
2020/02/13 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
.NET概念性的面试题
2012/02/29 面试题
大学生社会实践感想
2015/08/11 职场文书
Python中如何处理常见报错
2022/01/18 Python
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript