Uncaught TypeError: this.switchMicrophone is not a function

遇到这种问题怎么解决啊,有没有人能够指点一下

img


问题如上
代码如下

img

img


请问这种情况该如何解决

click的事件处理改为箭头函数,要不用function扩起后this指向dom,并不是vue实例

img


这里你要用function 申明的话 你就得外部缓存this了
let that = this;
that.switchMicrophone

首先,你可以先看看你的this的指向是什么,比如console.log(this),很明显,它应该就是.mic-list的那个元素,然后你的switchMicrophone是在window上面的,你想要通过this.switchMicrophone去访问这个函数,.mic-list这个元素映射出来的对象,就得有switchMicrophone这个方法才行