使用Angular 5和nodejs添加到数据库后动态更新视图

时间:2018-05-04 16:18:44

标签: node.js angular

我有一个看起来像这样的服务

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 :(得分:0)

有一些技巧可以做到这一点:

  1. 轮询和长轮询
  2. 永远的框架
  3. HTML5服务器发送的事件
  4. Websockets协议
  5. 有一个pluralsight course,您可以在其中找到更多信息,每个信息的示例。