Vue/JS:在不同的类方法中访问相同的变量

我想将大量自定义频道逻辑放入它自己的类中。在我的created生命周期方法中,我正在调用我创建的类中的每个方法,但是我如何保留socket我在 init() 方法中创建的实例以供其他方法使用?


主视图


import CustomClass from './CustomClass';


created() {


    const customClass = new CustomClass();

    customClass.init();

    customClass.subscribe();

}

自定义类.js


import Socket from 'Socket';


class CustomClass {


    init() {

        const socket = new Socket(key: XXXXX);

    }

    subscribe() {

       // how to have access to `socket` here that was created in init?

        socket.subscribe(channel: 'xxxx');

    }


}


慕侠2389804
浏览 81回答 1
1回答

明月笑刀无情

您需要将套接字添加为类的属性并使用this关键字访问它import Socket from 'Socket';class CustomClass {    init() {      // add the socket as a property on the CustomClass instance      // it might be worth moving this to a constructor function      this.socket = new Socket(key: XXXXX);  }  subscribe() {     // access it by using `this` keyword      this.socket.subscribe(channel: 'xxxx');  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript