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的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
May 04 Javascript
JavaScript极简入门教程(一):基础篇
Oct 25 Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 Javascript
Bootstrap框架的学习教程详解(二)
Oct 18 Javascript
jquery实现焦点轮播效果
Feb 23 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
vue路由教程之静态路由
Sep 03 Javascript
详解vue v-model
Aug 31 Javascript
antd 表格列宽自适应方法以及错误处理操作
Oct 27 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 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+jQuery实现自动补全功能源码
2013/05/15 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
JS 面向对象的5钟写法
2009/07/31 Javascript
jquery 可排列的表实现代码
2009/11/13 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
审计工作个人的自我评价
2013/12/25 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
承诺书怎么写
2014/03/26 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
助理政工师申报材料
2014/06/03 职场文书
企业安全标语
2014/06/07 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
2014年药店工作总结
2014/11/20 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技