или же

ой 4.Github источник

У меня есть меню, которое заполняется веб-сервисом. Веб-сервис находится в taskService, но сейчас не нужен.

ngOnInit() {
    this.getTasks();
    }
    getTasks(): void {
        this.taskService.getTasks()
            .subscribe(Tasks => this.tasks = Tasks);
    } 

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

Я импортирую это:

import { Component, OnInit, ChangeDetectorRef } from '@angular/core';

и добавив это в конструктор:

private cdRef: ChangeDetectorRef

И это мой лучший подход к функции deteChanges (),после обновления данных с помощью функции save ()

  this.taskService.updateTask(task, id)
          .subscribe(
              this.Ref.detach();
              setInterval(() => {
                this.Ref.detectChanges();
              }, 5000);
      );

Это HTML-код из меню для печати задач:

   <li *ngFor="let task of tasks" class="d-inline-block col-md-12">
        <a routerLink="/task/{{task.id}}" > {{task.title}}</a>
        <!-- <span class="close big"></span> -->
        <button class="close big" title="delete task"
        (click)="delete(task)">x</button>
    </li>

И это форма, которая обновляет задачу

<form (ngSubmit)="save(taskName.value, taskBody.value)" #taskForm="ngForm" class="example-form">
  <mat-form-field class="example-full-width">
    <label>Task Name</label>
    <input matInput [(ngModel)]="task.name" #taskName name="name">
  </mat-form-field>

  <mat-form-field class="example-full-width">
    <textarea matInput [(ngModel)]="task.body" #taskBody name="body"></textarea>

  </mat-form-field>
  <button type="submit" class="btn btn-success" >Save</button>
</form>

Оба находятся в разных компонентах.

Я пытался следовать этомуруководство, но я застрял, я не знаю, как использовать ChangeDetectorRef.