Отредактировано для удаления нерелевантного кода.
Я пытаюсь распечатать объект формы на консоли, но выбранный параметр не отображается. В консоли он отображается как undefined.
Коды я поместил ниже. Если кто-то может подсказать, что не так с этим конкретным кодом, это будет полезно. Сообщите мне, если потребуется дополнительная информация.
Component.html:
<form #f="ngForm" (ngSubmit)="save(f.value)">
....
<div class="form-group">
<label for="category">Category</label>
<select ngModel name="category" id="category" class="form-control">
<option value=""></option>
<option *ngFor="let c of categories$ | async" [value]="c.key">
{{ c.name }}
</option>
</select>
</div>
....
Component.ts:
import { CategoryService } from './../../category.service';
....
export class ProductFormComponent implements OnInit {
categories$;
constructor(categoryService: CategoryService) {
this.categories$ = categoryService.getCategories();
}
save(product) {
console.log(product);
}
....
Category.Service.ts:
import { AngularFireDatabase } from 'angularfire2/database';
....
getCategories() {
return this.db
.list('/categories', ref => ref.orderByChild('name'))
.valueChanges();
}
....
Я хочу, чтобы значение, выделенное из базы данных Firebase, было записано в объекте. Если я поставлю c.name, я получаю удобное для пользователя имя.
categories
свойство.key
? - person Pankaj Parkar   schedule 21.05.2018