收藏
回答

关于自定义组件中,methods内部方法调用问题?

基础库: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')
    },
  },

})


回答关注问题邀请回答
收藏

2 个回答

  • Zero
    Zero
    2020-10-19

    写成this.aaa()试试

    2020-10-19
    有用 1
    回复 4
    • Zero
      Zero
      2020-10-19
      刚刚写了demo试了,这样写可以的。
      2020-10-19
      回复
    • Yin熊🐻.
      Yin熊🐻.
      2020-10-19
      这样确实能输出bbb,但是又出现一个错了?
      2020-10-19
      回复
    • Zero
      Zero
      2020-10-19回复Yin熊🐻.
      2020-10-19
      1
      回复
    • Yin熊🐻.
      Yin熊🐻.
      2020-10-19回复Zero
      可以!十分感谢!
      2020-10-19
      回复
  • 拾忆
    拾忆
    2020-10-19

    2020-10-19
    有用
    回复
登录 后发表内容
问题标签