vue如何获得methods中函数的return值

methods: {
    findOther(e) {
      if (e.parentNode.className == "other") {
        return e.parentNode;
      } else {
        this.findOther(e.parentNode);
      }
    },
    targetClass(e) {
      this.num++;
      onsole.log(this.findOther(e));
      // cthis.findOther(e, data => {
      // c  console.log(data);
      // c});
    }
}

我得代码如上,targetClass无法获得findOther函数中返回的值,
尝试过使用callback的方法,但是仍提示错误
还望指点迷津,谢谢!

阅读 8.3k
2 个回答

else 用的是递归,但没有 return 关键字。

    else {
       return this.findOther(e.parentNode);
    }

递归是什么?自己调用自己,然后一级一级返回,你没有return所以断了。

findOther(e) {
      if (e.parentNode.className == "other") {
        return e.parentNode;
      } else {
        return this.findOther(e.parentNode);
      }
    },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题