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 面向对象编程  function是方法(函数)
Sep 17 Javascript
jquery 操作DOM案例代码分享
Apr 05 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
Apr 16 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
Feb 20 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
如何让微信小程序页面之间的通信不再变困难
Jun 03 Javascript
vue中利用Promise封装jsonp并调取数据
Jun 18 Javascript
微信小程序npm引入vant-weapp的踩坑记录
Aug 01 Javascript
Element-UI中关于table表格的那些骚操作(小结)
Aug 15 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 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
第二节 对象模型 [2]
2006/10/09 PHP
php 中include()与require()的对比
2006/10/09 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
新手入门常用代码集锦
2007/01/11 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
基于python实现名片管理系统
2018/11/30 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python scipy卷积运算的实现方法
2019/09/16 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
平面设计自荐信
2013/10/07 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
党章培训心得体会
2014/09/04 职场文书
营销与策划实训报告
2014/11/05 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript