web worker中访问vue子组件实例

问题描述

startCount是vue项目中子组件subItem.vue中的一个方法,页面会渲染多个该子组件。

下面的worker的使用方式,发现onmessage方法中得到的_this永远是最后一个被渲染的子组件的this,而不是渲染时的那个this,请问应该怎么弄才能访问到渲染时的那个组件的this?

目的是为了在接收到worker发来的消息后,对子组件实例里面的状态进行变更。还是有什么更好的处理方式,求解答。

startCount(){
    let _this = this;
    let name = 'aaaa';
    window.pollingWorker.postMessage('message');  
    
    window.pollingWorker.onmessage = function (e) {
        console.log('this>>',_this);
    }
},
阅读 2.8k
1 个回答
window.pollingWorker.addEventListener('message', function (e) {
        console.log('this>>',_this);
    })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题