Невозможно поместить данные в MEAN-приложение - PullRequest
0 голосов
/ 29 ноября 2018

Я не могу обновить категории для своего MEAN-приложения.При нажатии кнопки обновления в моем файле .html я получаю следующее сообщение об ошибке: Невозможно прочитать свойство '_id' из неопределенного для моего service.ts

Это мой компонент.html :

<div class="categories" *ngFor="let category of categories">
<form>
  <input type="text" name="title" [(ngModel)]="category.name">
  <textarea name="description" [(ngModel)]="category.description"></textarea>
  <button (click)="updateCategory(category._id)">Update</button>
</form>

Это мой component.ts :

updateCategory(_id){
    this.appService.updateCategory(this.category);    
  }

Это мой service.ts :

updateCategory(category: Category){
let payload = {
  "id": category._id,
  "name": category.name,
  "description": category.description
}
console.log(category._id);
this.http.put(this.apiUrl+"/category/"+ category._id, payload, {responseType: 'text'}).subscribe(response => {});}

Соединение с базой данных и API работают нормально.Просто мои значения не определены.Я предполагаю, что это как-то связано с * ng для асинхронной передачи данных, но я не уверен. Как определить _id, имя и описание в service.ts?

1 Ответ

0 голосов
/ 29 ноября 2018

Где здесь задается используемая категория?

updateCategory(_id){
    this.appService.updateCategory(this.category);       }

Вы передаете id в метод updateCategory, но затем передаете this.category.

Где находится this.category устанавливается?

Может быть, имеет смысл перейти в категорию вместо идентификатора:

<button (click)="updateCategory(category)">Update</button>

А затем:

updateCategory(category){
    this.appService.updateCategory(category);    
  }

Дайте этопопробовать.

...