отображение сообщения в угловых 6 - PullRequest
0 голосов
/ 07 июня 2018

Здравствуйте, я изучаю угловой 6, но я не понимаю, почему он не отображает мое сообщение, но он появляется в журналах моего сервера.

компонент:

import { Component } from '@angular/core';
import { ChatService } from '../chat.service';

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

export class AppComponent {
 message: string;
 messages: string[] = [];

constructor(private chatService: ChatService) {
}

sendMessage() {
this.chatService.sendMessage(this.message);
this.message = '';
}

OnInit() {
 this.chatService
  .getMessages()
  .subscribe((message: string) => {
    this.messages.push(message);
});
}
}

html:

<div>
  <li *ngFor="let message of messages">
     {{message}}
  </li>
</div>

 <input [(ngModel)]="message" (keyup)="$event.keyCode == 13 && sendMessage()" />
 <button (click)="sendMessage()">Send</button>

спасибо за вашу помощь

1 Ответ

0 голосов
/ 07 июня 2018

чат-сервис:

import * a io from 'socket.io-client';
import {Observable} from 'rxjs';

export class ChatService{
 private url = 'http://localhost:3000';
 private socket;

constructor() {
  this.socket = io(this.url);
}

public sendMessage(message){
  this.socket.emit('new-message',message);
}

public getMessage = () => {
 return Observable.create((observer) => {
  this.socket.on('new-message' , (message) => {
   observer.next(message);
  });
 });
}
}
...