Отображать сообщение после входа в систему - Angular 5 - PullRequest
0 голосов
/ 23 мая 2018

Привет, добрый вечер, люди. Я новичок в машинописи и угловой 5, и я хочу создать сервис, который будет отображать сообщение для пользователей после каждого входа в систему.Вот что я сделал:

Это текстовая область, в которой будет представлен текст, который будет отображаться на домашней странице после действия входа в систему.Я имею в виду, администратор напишет и отправит сообщение через эту форму, а затем оно будет отображаться для пользователей.

export class NewsLetterComponent implements OnInit {
  @Output() onNewsText = new EventEmitter<string>();

  newsText: string;
  constructor(private _router: Router) { }

  ngOnInit() { 
    this.newsText = null;
  }

  onclick(newsText: string) {
    this.newsText;
    this.onNewsText.emit(newsText);
 
  }
<div class="container-fluid" >
<form>
     <div class="form-group">
    <textarea #newsText class="form-control"  rows="3"></textarea>
  </div>
   <button type="submit" (click)="onclick(newsText.value)"class="btn btn-primary pull-right">Publish</button>
</form>
</div>

и отображение его на домашней странице:

<header [user]="user"  (logout)="logout()"> Loading...</header>
 <p-messages #newsletter [(value)]="newsletterText"></p-messages> 
<content class="admin-page">
<sidenav></sidenav> 
<router-outlet></router-outlet>
<content>

export class AdminPageComponent implements OnInit, OnChanges {
@ViewChild('newsletterComponenet') newsletterComponenet: NewsLetterComponent;
@Input('newsletterText') newsletterText: String;

//the rest of the code *

  ngOnChanges() {
    if (this.newsletterText && this.newsletterText.length) {
       this.msgs.push({ severity: 'info', summary: this.newsletterText });
    }
  }

Это точно не работает, и я не знаю, ведет ли то, что я делаю, к правильному пути или нет.Может ли кто-нибудь помочь мне в этом?

PS Я гуглил, но нигде не нашел удовлетворительного ответа

1 Ответ

0 голосов
/ 22 мая 2019

Следуйте указаниям:

  1. построить службу, которая отправляет сообщение на сервер при нажатии кнопки Submit в NewsLetterComponent.

  2. Сервер сохраняет это сообщение.

  3. создать еще одну службу для вашей домашней страницы, которая после входа в систему отправляет запрос на сервер для получения последних сообщений.

Обе службы независимы, и EventEmitter() в вашем NewsletterComponent не имеет к этому никакого отношения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...