Динамическое обновление представления после добавления в базу данных с Angular 5 и nodejs - PullRequest
0 голосов
/ 04 мая 2018

У меня есть сервис, который выглядит так

export class EmployeeService {
  selectedEmployee: Employee = null;
  employeesGET;
  employeeChange: BehaviorSubject<Employee> = new BehaviorSubject<Employee>(null);

  constructor( private http: HttpClient ) { 
     this.employeesGET = this.http.get('/api')
  }

  employeePOST(employee) {
      this.http.post('/api', employee)
          .subscribe((res) => {
            console.log(res);
  })
}

В одном компоненте я получаю массив сотрудников и отображаю их:

getEmployees(): void {
    this.employeeService.employeesGET
      .subscribe((employees) => {
        this.employees = employees;
        this.employees.sort(function(a,b) {return (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0);} );
        this.displayedEmployees = this.employees.slice(
          this.carouselStartIndex, 
          this.carouselStartIndex + this.employeesInCarousel)
      });
  }

И я также разрешаю пользователю добавлять сотрудников в базу данных с помощью функции post в службе выше. Когда пользователь добавил еще одного сотрудника, что мне нужно реализовать, чтобы динамически обновлять представление? Нужно ли создавать новый запрос на получение или я могу каким-то образом использовать тот, который первым получает данные?

1 Ответ

0 голосов
/ 04 мая 2018

Есть несколько способов сделать это:

  1. Опрос и длительный опрос
  2. Навсегда Frame
  3. HTML5 отправленные сервером события
  4. протокол веб-сокетов

Есть многоплановый курс , где вы можете найти более подробную информацию и пример каждого из них.

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