关于vue组件中定时器中只能使用箭头函数的问题
来源:互联网 发布:乐器软件 编辑:程序博客网 时间:2024/06/05 11:47
在学习vue实战里轮播图自动轮播部分的时候用到了js定时器,这个时候发现了一些问题:定时器中的函数只能使用箭头函数的问题,普通的函数会报错。让我一度认为是定时器函数写错的问题,怎么该都不对,后来终于找到了问题的所在:
箭头函数中的this指向是固定不变的,即是在定义函数时的指向;
而普通函数中的this指向时变化的,即是在使用函数时的指向。
这就是,该问题的根源所在。
部分实例代码:
箭头函数代码:
methods: { goPage: function (index) { this.newPage = index }, inv: function () { this.invt = setInterval(() => { this.goPage(this.nextPage) console.log(this) //此时的this指向是该vue组件,不管在哪个地方使用,指向都是该vue组件。 }, 1000) } }
普通函数的代码:
methods: { goPage: function (index) { this.newPage = index }, inv: function () { this.invt = setInterval(function () { this.goPage(this.nextPage) console.log(this) //此时的this并不是该vue组件,而是指向window。 }, 1000) } }
setInterval()函数与getTimeout()是window对象的函数,所以,里面的this会指向window
阅读全文
1 0
- 关于vue组件中定时器中只能使用箭头函数的问题
- vue 中箭头函数
- es6箭头函数中this的问题
- Vue中使用组件
- ES6中箭头函数的使用
- ES6中箭头函数的使用
- ES6中箭头函数的使用
- ES6中箭头函数的使用
- vue中component组件的props使用
- vue中动态组件的使用
- vue中使用定时器时this指向问题
- vue中vue-schart(图表组件)的使用
- 关于键j2ee中定时器的问题
- RN中快速使用箭头函数创建view的姿势???
- 关于“在C语言中只能在函数前面定义变量”的问题
- MFC中定时器OnTimer函数的使用
- MFC中定时器OnTimer函数的使用
- 在 React 中什么时候使用箭头函数
- I2C驱动情景分析——怎样增加I2C设备
- jquey URL中传参及参数中文问题;获取参数的方法
- FrontEnd前端文件架构
- scc缩点
- go语言学习笔记(5) 常量
- 关于vue组件中定时器中只能使用箭头函数的问题
- Google Nexus 手机root
- 致命错误: 在类路径或引导类路径中找不到程序包 java.lang
- mybatis逆向工程遇到的坑
- LabVIEW密码破解,VI密码重置,VI密码破解神器,labview密码破解
- QGC的第二个按钮Vehicle Setup
- 解决多线程访问全局变量的解决方案
- nginx+uwsgi+django(restframework)服务器部署
- 不要滥用递归