Vue(定时器)解决mounted不能获取到data中的数据问题


Posted in Javascript onJuly 30, 2020

vue中data定义

data() {
  return {
  isok:10,
}
}

在vue中使用定时器 如下 mounted是钩子函数

mounted(){
 
 console.log(this.isok)  //能获取isok 10
 setInterval(function(){
 console.log(this.isok) //不能获取 isok
}, 3000);
 
}

这是为什么呢?

原因就是:定时器的this是指向 window的。

那有什么方法来解决这个问题呢?答案是有的,两种

第一种:

用箭头函数:箭头函数中的this指向是固定不变(定义函数时的指向),在vue中指向vue;

mounted(){
 setInterval(()=>{ consolog.log(this.isok) }, 3000);
 }

第二种:

使用 var that = this ,就可以正常调用了。

mounted(){
  var that=this;
  setInterval(()=>{
  console.log(that.isok)
  }, 3000);
 }

补充知识:vue 根据指定字段排序使用computed 方法

我就废话不多说了,大家还是直接看代码吧~

<div id="app">
   <ul>
    <li v-for="(stu,index) in students1">{{stu}}</li>
   </ul>
  </div>
  <script type="text/javascript">
   new Vue({
    el:"#app",
    data:{
     students:[
      {name:"小a",age:20},
      {name:"小b",age:21},
      {name:"小c",age:18},
      {name:"小d",age:19},
      {name:"小f",age:18}
     ]
    },
    computed:{
     students1:function(){
      return sortKey(this.students,'age')
     }
    }
   })
   function sortKey(array,key){
    return array.sort(function(a,b){
     var x = a[key];
     var y = b[key];
     return ((x<y)?-1:(x>y)?1:0)
    })
   }
  </script>

以上这篇Vue(定时器)解决mounted不能获取到data中的数据问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript无阻塞加载具体方式
Jun 28 Javascript
js的Boolean对象初始值示例
Mar 04 Javascript
jQuery原生的动画效果
Jul 10 Javascript
js带点自动图片轮播幻灯片特效代码分享
Sep 07 Javascript
详解JavaScript的变量和数据类型
Nov 27 Javascript
JavaScript 数组的深度复制解析
Nov 02 Javascript
JavaScript仿支付宝6位数字密码输入框
Dec 29 Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 Javascript
vue实现百度语音合成的实例讲解
Oct 14 Javascript
js实现秒表计时器
Dec 16 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 Javascript
vue setInterval 定时器失效的解决方式
Jul 30 #Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
Jul 30 #Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 #Javascript
详解JavaScript自定义函数
Jul 29 #Javascript
深入了解JavaScript词法作用域
Jul 29 #Javascript
vue监听dom大小改变案例
Jul 29 #Javascript
VUE实时监听元素距离顶部高度的操作
Jul 29 #Javascript
You might like
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
PHP实现货币换算的方法
2014/11/29 PHP
限制文本字节数js代码
2007/03/06 Javascript
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
javascript动态加载三
2012/08/22 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
简单了解Python中的几种函数
2017/11/03 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
教师研修随笔感言
2014/01/23 职场文书
大专会计自我鉴定
2014/02/06 职场文书
公司中秋节活动方案
2014/02/12 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
企业委托书范本
2014/09/13 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
技术支持岗位职责
2015/02/13 职场文书
大学军训通讯稿
2015/07/18 职场文书
奖学金申请书(范文)
2019/08/14 职场文书