Javascript 角度:无法读取属性';在';未定义的

Javascript 角度:无法读取属性';在';未定义的,javascript,angular,datatable,angular-material,Javascript,Angular,Datatable,Angular Material,我试图在我的Angular应用程序中使用WebSocket和数据表组件 每次添加时,我都会运行conect()函数来更新客户端的内容 import * as io from "socket.io-client"; @Component({ selector: "app-liste-projets", templateUrl: "./liste-projets.component.html", styleUrls: ["./liste-projets.component.css"]

我试图在我的Angular应用程序中使用WebSocket和数据表组件

每次添加时,我都会运行
conect()
函数来更新客户端的内容

import * as io from "socket.io-client";

@Component({
  selector: "app-liste-projets",
  templateUrl: "./liste-projets.component.html",
  styleUrls: ["./liste-projets.component.css"]
})
export class ListeProjetsComponent implements OnInit {
  constructor(private ajoutProj: AjoutprojService) {}
...


}
export class UserDataSource extends DataSource<any> {

  constructor(private ajoutProj: AjoutprojService) {
    super();
  }
  socket = io('http://127.0.0.1:8080');

  connect():Observable<NouveauProjet[]> {
    var data= this.ajoutProj.getAllProj();

    return data;

  }
  this.socket.on("add", ()=>{
    this.connect()      })
}
试试这个

export class UserDataSource extends DataSource<any> {
   private socket: SocketIOClient.Socket;
  constructor(private ajoutProj: AjoutprojService) {   
    super();

  }
  connect():Observable<NouveauProjet[]> {
    this.socket = io.connect('http://127.0.0.1:8080')
    this.socket.on('connect', () => {
            console.log('WidgetSocket: Opened a new socket connection', this.socket.id);
    });
    var data= this.ajoutProj.getAllProj();
    return data;
  }
}
导出类UserDataSource扩展了DataSource{ 私有套接字:SocketIOClient.socket; 构造函数(私有AjoupProj:AjoupProJService){ 超级(); } connect():可观察{ this.socket=io.connect('http://127.0.0.1:8080') this.socket.on('connect',()=>{ log('WidgetSocket:Opened a new socket connection',this.socket.id); }); var data=this.ajoupproj.getAllProj(); 返回数据; } } 试试这个

export class UserDataSource extends DataSource<any> {
   private socket: SocketIOClient.Socket;
  constructor(private ajoutProj: AjoutprojService) {   
    super();

  }
  connect():Observable<NouveauProjet[]> {
    this.socket = io.connect('http://127.0.0.1:8080')
    this.socket.on('connect', () => {
            console.log('WidgetSocket: Opened a new socket connection', this.socket.id);
    });
    var data= this.ajoutProj.getAllProj();
    return data;
  }
}
导出类UserDataSource扩展了DataSource{ 私有套接字:SocketIOClient.socket; 构造函数(私有AjoupProj:AjoupProJService){ 超级(); } connect():可观察{ this.socket=io.connect('http://127.0.0.1:8080') this.socket.on('connect',()=>{ log('WidgetSocket:Opened a new socket connection',this.socket.id); }); var data=this.ajoupproj.getAllProj(); 返回数据; } }
我收到此错误
找不到命名空间“SocketIOClient”
我收到此错误
找不到命名空间“SocketIOClient”