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 HTML中的table
Apr 15 Javascript
javascript中的变量作用域以及变量提升详细介绍
Oct 24 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
Sep 04 Javascript
JS数组的常见用法实例
Feb 10 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
Jun 06 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
websocket+node.js实现实时聊天系统问题咨询
May 17 Javascript
Bootstrap Table 搜索框和查询功能
Nov 30 Javascript
Angular4学习教程之DOM属性绑定详解
Jan 04 Javascript
js中console在一行内打印字符串和对象的方法
Sep 10 Javascript
JavaScript 面向对象基础简单示例
Oct 02 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
Jul 14 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
PHP5中MVC结构学习
2006/10/09 PHP
php echo 输出字符串函数详解
2010/05/13 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
Yii清理缓存的方法
2016/01/06 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
python实现绘制树枝简单示例
2014/07/24 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Python FFT合成波形的实例
2019/12/04 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
几道数据库的面试题或笔试题
2014/05/31 面试题
应届生程序员求职信
2013/11/05 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
考试作弊检讨书
2015/01/27 职场文书
小学教师年度个人总结
2015/02/05 职场文书
幼师大班个人总结
2015/02/13 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js