afrad / angular2-websocket

Websocket wrapper for angular2 based on angular-websocket
Apache License 2.0
210 stars 84 forks source link

NullInjectorError: No provider for $WebSocket! #100

Closed wasoomro closed 6 years ago

wasoomro commented 6 years ago

Here is my code

import { Component, OnInit } from '@angular/core';
import { $WebSocket, WebSocketSendMode } from 'angular2-websocket/angular2-websocket';

interface ChatModel {
  user: String;
  message: String;
}

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

export class AppComponent implements OnInit {
  title = 'Websockets Chat Using Angular 2 Sockets And Django Channels';

  constructor(
    private mysocket: $WebSocket,
    public chatData: ChatModel[],
    public message: String,
    public user: String
  ) {}

  onChatSubmit() {
    const datatoSend = JSON.stringify({
      'user': this.user,
      'message': this.message
    });
    this.mysocket.send(datatoSend);

  }

  addChatItem(msg: MessageEvent) {
    this.chatData.push(
      JSON.parse(msg.data)
    );
  }

  ngOnInit() {
    /*
    this.mysocket = new $WebSocket('ws//127.0.0.01:8000');
    this.mysocket.setSend4Mode(WebSocketSendMode.Direct);

    this.mysocket.onMessage(this.addChatItem);
    */
  }
}

Getting Error:

StaticInjectorError(AppModule)[AppComponent -> $WebSocket]: StaticInjectorError(Platform: core)[AppComponent -> $WebSocket]: NullInjectorError: No provider for $WebSocket!