Subscribe on changes!

Access Vue instance with typescript composable

avatar
Feb 14th 2022

Hi, I have an application with socket.io implementation with vue-socket.io-extended library.

Now. In Vue2 i have a file mixins.js with the mixins of my app. And I can access the properties of the socket like this.$socket.client.id

Something like this:

// Mixins.js file

export const myMixins ={
methods:{
async update() {
......
      const idSocket = this.$socket.client.id;
.........
    },
}
}

Now in Vue3 with typescript, I have the file Mixins.ts

// Mixins.ts file


const myMixins = () => {

const  update = async ()  => {
......
      const idSocket = this.$socket.client.id; -> the Vue instance is not recognized with "this".
.........
    }

return {update}

}

export default myMixins;

What is the closest approximation to be able to do the same process in Vue3 with TypeScript and Composables?

avatar
Feb 14th 2022

Please take usage questions to chat.vuejs.org, stack overflow etc.

As a hint, you are likely looking for the ComponentPublicInstance type.