Как я могу сохранить выбранный элемент из выпадающего списка в угловых 2
Мне нужна помощь с сохранением выбранного элемента из выпадающего списка. Вот мой код С этим кодом я могу console.log selectedProject.id
а также selectedProject.name
по кнопке и функции outData
, Но я не могу показать selectedProject.name
в HTML сам по себе.
Когда я пытаюсь распечатать эти данные, я получаю эту ошибку:
ИСКЛЮЧЕНИЕ: Uncaught (в обещании): ошибка: ошибка в http://localhost:3000/app/home.component.html:2:48 вызванная: self.context.selectedProject не определена
import { Component, OnInit, NgModule } from '@angular/core';
import { Router, Routes, RouterModule, ActivatedRoute } from '@angular/router';
import { FormsModule } from '@angular/forms';
import { Project } from './project'
import { AVAILABLEPROJECTS } from './mock-projects';
@Component({
moduleId: module.id,
templateUrl: 'home.component.html',
styles: [`
.container {
padding-top: 41px;
width:435px;
min-height:100vh;
}
`]
})
export class HomeComponent {
public projects: Project[];
public selectedProject: Project;
constructor() {
this.projects = AVAILABLEPROJECTS;
}
outData() {
console.log(this.selectedProject.id);
console.log(this.selectedProject.name);
}
}
<div class="container">
<form class="form form-login" role="form">
<h2 class="form-login-heading">Projekt:</h2>
<!--{{selectedProject.name}}-->
<div class="form-group">
<select class="form-control" [(ngModel)]="selectedProject" name="selectedProject">
<option *ngFor="let project of projects" [ngValue]="project">{{project.name}}</option>
<!--[value]="project"-->
</select>
</div>
<div>
<dutton (click)="outData()">Out Data</dutton>
</div>
</form>
</div>
1 ответ
Решение
public selectedProject: Project = new Project();
а также
<option *ngFor="let project of projects" [ngValue]="project">{{project?.name}}</option>