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 相关文章推荐
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
javascript 浏览器检测代码精简版
Mar 04 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 Javascript
JavaScript设计模式之代理模式介绍
Dec 28 Javascript
javascript引用类型指针的工作方式
Apr 13 Javascript
js实现简单秒表走动的时钟特效
Mar 25 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
AngularJS基础 ng-src 指令简单示例
Aug 03 Javascript
Node.js中常规的文件操作总结
Oct 13 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
Angular ElementRef简介及其使用
Oct 01 Javascript
京东优选小程序的实现代码示例
Feb 25 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,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
drupal 代码实现URL重写
2011/05/04 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
python分割文件的常用方法
2014/11/01 Python
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
详解Python3定时器任务代码
2019/09/23 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
django admin 添加自定义链接方式
2020/03/11 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
美国折扣网站:jClub
2017/08/07 全球购物
青年文明号事迹材料
2014/01/18 职场文书
校园之声广播稿
2014/01/31 职场文书
2014年团支书工作总结
2014/11/14 职场文书