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 网页跳转的方法
Dec 24 Javascript
jQuery实现单行文字间歇向上滚动源代码
Jun 02 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
JavaScript  cookie 跨域访问之广告推广
Apr 20 Javascript
jquery获取input type=text中的值的各种方式(总结)
Dec 02 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
Angular4的输入属性与输出属性实例详解
Nov 29 Javascript
layer.confirm取消按钮绑定事件的方法
Aug 17 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
js继承的这6种方式!(上)
Apr 23 Javascript
js console.log打印对象时属性缺失的解决方法
May 23 Javascript
Vue实例的对象参数options的几个常用选项详解
Nov 08 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
python如何爬取网页中的文字
2020/07/28 Python
Python创建临时文件和文件夹
2020/08/05 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
智能钱包:Ekster
2019/11/21 全球购物
如何写好升职自荐信
2014/01/06 职场文书
请假条范文大全
2014/04/10 职场文书
军训拉歌口号
2014/06/13 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
2015最新民情日记范文
2015/06/26 职场文书
60句有关成长的名言
2019/09/04 职场文书