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支持firefox,ie7页面布局拖拽效果代码
Dec 20 Javascript
IE中getElementsByName()对有些元素无效的解决方案
Sep 28 Javascript
JS控制表单提交的方法
Jul 09 Javascript
详解JavaScript对象类型
Jun 16 Javascript
javascript基本常用排序算法解析
Sep 27 Javascript
详解RequireJs官方使用教程
Oct 31 Javascript
JS实现字符串翻转的方法分析
Aug 31 Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 Javascript
JS实现简易计算器
Feb 14 Javascript
Vue点击切换Class变化,实现Active当前样式操作
Jul 17 Javascript
jQuery实现计算器功能
Oct 19 jQuery
Node.js利用Express实现用户注册登陆功能(推荐)
Oct 26 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
php 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
判断控件是否已加载完成的代码
2010/02/24 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
13个PHP函数超实用
2015/10/21 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
图解javascript作用域链
2019/05/27 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
python添加模块搜索路径方法
2017/09/11 Python
Django框架多表查询实例分析
2018/07/04 Python
python实现简单多人聊天室
2018/12/11 Python
python用for循环求和的方法总结
2019/07/08 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
用django设置session过期时间的方法解析
2019/08/05 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
JVM是一个编译程序还是解释程序
2012/09/11 面试题
环境科学专业个人求职的自我评价
2013/11/28 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
推荐信怎么写
2014/05/09 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技