在Angular 2应用程序中使用带有socket.io的ngx-toastr

时间:2018-04-22 18:12:28

标签: javascript angular socket.io

我有一个带有socket.io的Angular 2应用程序。这是socket.io.ts文件的样子:

import * as defSocketIO from 'socket.io-client';

export class SocketIO {

public static bootstrap(options : object) : SocketIO {
    return new SocketIO(options);
}

constructor(options: Object) {

    (<any> window).SocketIO = new defSocketIO(
        location.protocol + '//' + location.hostname + (location.port == '' ? '' : ':' + location.port),
        {
            'reconnection'          : false,
            'reconnectionAttempts'  : 0,
            'reconnectionDelay'     : 100000,
            'timeout'               : 900000
        }
    );

    (<any> window).SocketIO.on('connect',  function () {
            console.log("Connected to Socket.io server...");
        }
    );

    (<any> window).SocketIO.on('disconnect',  function () {
            console.log("Disconnected to Socket.io server...");
        }
    );

但是在我正在使用ngx-toastr的应用程序中,它在组件中运行良好,但我想将它用于套接字消息。我尝试过几种方式导入它,但我无法让它工作。我能以某种方式注射它吗? Here是ngx-toastr

谢谢!

1 个答案:

答案 0 :(得分:0)

最后,我通过从Toastr创建自己的服务并在socket.io.ts文件中导入它来解决这个问题。