Fork me on GitHub
米雪的前端个人博客


  • 首页

  • 文章

  • 关于我

Vue/iframe嵌套单页面时打开新窗口并自定义浏览器标题

发表于 2019-09-06

vue打开新窗口两种写法,效果一样:

第一种:

<router-link :to="{ path: '/system/place-mgt', query: {isDevice: true}}" target="_blank" tag="a">
   新增设备
</router-link>

router-link 传参用query或者params都可以,tagget和tag一定要加上才可以;

第二种:

<a href= "./App.html#/system/place-mgt" target="_blank" > 新增设备 </a>

直接写成a标签就可以了。

改变浏览器窗口标题:

代码如下:

mounted() {
  document.title = '你想要的标题';
}

Vue中setTimeout切换浏览器页签时怎么清除解决方案

发表于 2019-09-06

大家都知道,vue中有完整的生命周期,this.$router.push(‘’)可以跳到相应的页面中,在beforeDestroy中可以监听到,将定时器清空,又或是通过this._isDestroyed,可以判断出是否还在当前生命周期中,true为不在,false为还在;

今天要说的是在浏览器打开新窗口的情况下将上一页面的定时器清空;

代码如下:

export: {

    methods: { 
        /***
         *定时器刷新接口
         * */
      timeRefresh(){
            if(this.isLeave) return false;
           //你所需要定时刷新请求的方法OR接口 5秒一刷新
           this.refreshData = window.setTimeout(this.timeRefresh, 5000);
      }
    },
    mounted() {

      this.timeRefresh();

      let self = this;

        //此方法可以监听到浏览器切换页面,也就是离开当前页面时的动态;为了保险起见,建议在beforeDestroy中也清空定时器;

      document.addEventListener('visibilitychange',() => { //浏览器tab标签切换事件

        if(document.visibilityState == 'hidden') { //状态判断 没在当前页面呆着
               self.isLeave = true;
               if(self.refreshData) window.clearTimeout(self.refreshData); self.refreshData = null;
         }else { //回来了
              self.isLeave = false;
          self.refreshData = setTimeout(self.timeRefresh, ((new Date).getTime() % 5000));
          }
       });
    },
    data() {
        return {
        isLeave: false,//定义变量判断是否还停留在当前此页面中
        refreshData : null,//定时器定义变量
      }
    }
}

Vue本地项目开发过程中webpack打包内存泄漏问题解决方法

发表于 2019-09-06

编译项目出现如下错误:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

原因:

node的堆内存上限大概在1.7G,如果超过就会出现次错误;

解决方法:

全局安装increase-memory-limit

npm install -g increase-memory-limit

进入工程目录,执行:

increase-memory-limit

即可解决。

前言

发表于 2019-09-06

  Hi!欢迎来到米雪的个人博客,本人系计算机专业妹子一枚,实习期选择了前端,入前端这行已经好几年了,接触的越多之后,你会发现前端涉及的知识面很广,而目前的前端框架层出不穷,需要静下心来去了解,去学习,去实践。采用合适的技术来满足公司产品业务需求。

  总之前端水很深,需要不断去学习,建议在这个过程中,能把自己学习到的知识点输出,养成写技术博客的习惯,沉下心来好好打磨自己的技术,望共勉!

一:目的何在?

  不知道大家有没有这种感觉,大部分的程序猿,喜欢安静的写代码,语言表达能力不是特别好,如果一件事情不能够用通俗、简单的语言说出来或者写出来,证明你并没有全面地掌握或者掌握的深度不够。只有通过知识积累以及共享才能更好地发现自己在知识理解和掌握上的不足。目的和大部分人一样,主要目的有以下2个:

1、检验自己学习成果,加深对技术的理解;

2、提高文字的表达能力;

二:什么时候开始?

  万事开头难,有人曾说过,种一棵树的最好时机是十年前,其次是现在,开通技术博客同样如此。可能一开始写的比较差劲,对于那些不满意的文章,可以等你技术能力提升了,再删掉重新写,并非是要等到是技术牛人,才有资格写文章吧,个人主要是想记录自己成长轨迹,不断积累,不断充实自己,望共勉!

三:后记

  作为程序员,我个人觉得最重要的还是敲代码的能力,以及工作中解决问题的能力,不要为了写博客而写博客,合理利用碎片化时间,千万不要捡了芝麻丢了西瓜!

fanmx

fanmx

Web前端博客

4 日志
RSS
GitHub E-Mail Blog Echarts
© 2019 fanmx
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4
0%