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 parseInt 大改造
Sep 27 Javascript
JQuery的Alert消息框插件使用介绍
Oct 09 Javascript
js switch case default 的用法示例介绍
Oct 23 Javascript
Javascript 赋值机制详解
Nov 23 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
May 09 Javascript
第三章之Bootstrap 表格与按钮功能
Apr 25 Javascript
老生常谈JavaScript 正则表达式语法
Aug 20 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
详解Vue 方法与事件处理器
Jun 20 Javascript
基于dataset的使用和图片延时加载的实现方法
Dec 11 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
vue-cli脚手架的安装教程图解
Sep 02 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
一套中级Java程序员笔试题
2015/01/14 面试题
人力资源专业推荐信
2013/11/29 职场文书
工厂实习感言
2014/01/14 职场文书
护士在校生自荐信
2014/02/01 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
支行行长岗位职责
2015/02/15 职场文书
大学生求职自荐信
2015/03/24 职场文书
同乡会致辞
2015/07/30 职场文书
网络营销实训总结
2015/08/03 职场文书
思想工作总结范文
2015/08/12 职场文书
高中班主任寄语
2019/06/21 职场文书