基础库:2.13.1
在自定义组件中,详见下面代码,直接调用methods里面的aaa方法,此时aaa方法可以调用bbb方法,正常执行。
但是用setinterval调用aaa方法的时候就会报bbb方法不存在的错误。
请问是作用域的问题吗?需要怎么解决?
//home.js
Component({
/* 开启全局样式设置 */
options: {
addGlobalClass: true,
},
/* 组件声明周期函数 */
lifetimes: {
attached: function () {
setInterval(this.aaa, 1000); // 报错
// this.aaa(); // 不报错
},
},
/* 组件的方法列表 */
methods: {
aaa: function () {
console.log('aaa')
this.bbb();
},
bbb: function() {
console.log('bbb')
},
},
})
写成this.aaa()试试
这样写就可以了
setInterval(() => {
this.aaa()
}, 2000)