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 Demo模态窗口
Dec 06 Javascript
js导出table到excel同时兼容FF和IE示例
Sep 03 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
Jan 27 Javascript
使用ajax+jqtransform实现动态加载select
Dec 01 Javascript
javascript简单判断输入内容是否合法的方法
May 11 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
Ionic3 UI组件之autocomplete详解
Jun 08 Javascript
深入理解React中何时使用箭头函数
Aug 23 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
Mar 03 Javascript
vue 使用lodash实现对象数组深拷贝操作
Sep 10 Javascript
JavaScript实现音乐播放器
Aug 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
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
javascript继承之为什么要继承
2012/11/10 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
解决vue无法设置滚动位置的问题
2018/10/07 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
Python中函数的返回值示例浅析
2019/08/28 Python
Python文件操作方法详解
2020/02/09 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
求职推荐信范文
2013/12/01 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
责任担保书范文
2014/05/21 职场文书
化验室安全管理制度
2015/08/06 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
python开发飞机大战游戏
2021/07/15 Python
vue自定义右键菜单之全局实现
2022/04/09 Vue.js