Akshay malvankar Ответов: 1

Мне трудно понять следующий код в angular


Как показано ниже в комментариях, мне трудно понять код, может ли кто-нибудь объяснить мне, что делает эта строка кода??

let user = new User();
    user = {...this.frm.value};   // what this line does ??
    
    this.userService.post(user).then(respone => {
      console.log(respone);
    });

---------------------------------------------------------------------	

- deleteUser(user: User): void {
    this.userService.deleteUser(user.id)
      .subscribe( data => {
        this.users = this.users.filter(u => u !== user);      // whats this line does??
      })
  };
 
----------------------------------------------------------------------------------
 
- onSubmit() {
    this.userService.updateUser(this.editForm.value)
      .pipe(first())    // whats this line does??
      .subscribe(
        data => {
          this.router.navigate(['list-user']);
        },
        error => {
          alert(error);
        });
  }


Что я уже пробовал:

Я копирую эти строки и вставляю в google, если получаю какую-либо помощь в интернете

1 Ответов

Рейтинг:
9

Thomas Daniels

user = {...this.frm.value};   // what this line does ??
Эти три точки называются синтаксисом распространения: Синтаксис распространения - JavaScript | MDN[^].

В этой конкретной строке кода цель состоит в том, чтобы копирование свойств из одного объекта в другой[^].

this.users = this.users.filter(u => u !== user); // whats this line does??
.filter это функция на массиве[^] это займет некоторое время. сказуемое в качестве аргумента (функция, которая принимает значение в качестве аргумента и возвращает true или false) и возвращает новый массив, сохраняя только те значения, для которых предикат вернул true. Ваш предикат-это u => u !== user таким образом, результатом фильтрации является массив, в котором все пользователи, которые не равны user.

.pipe(first())
Я думаю, что все дело в этом: первый · learn-rxjs[^]