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 相关文章推荐
jquery中dom操作和事件的实例学习 下拉框应用
Dec 01 Javascript
javascript中全局对象的isNaN()方法使用介绍
Dec 19 Javascript
Jquery操作radio的简单实例
Jan 06 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
JQuery中DOM事件绑定用法详解
Jun 13 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
sharp.js安装过程中遇到的问题总结
Apr 02 Javascript
详解react组件通讯方式(多种)
May 06 Javascript
浅析JavaScript预编译和暗示全局变量
Sep 03 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
mapboxgl实现带箭头轨迹线的代码
Jan 04 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
JS验证不重复验证码
2017/02/10 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python continue继续循环用法总结
2018/06/10 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
编写python代码实现简单抽奖器
2020/10/20 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
比利时买床:Beter Bed
2017/12/06 全球购物
秘书英文求职信
2014/04/16 职场文书
回复函范文
2015/07/14 职场文书