1
我正在學習Angular 4和firebase。在這裏,我正在嘗試構建一個課程列表的下拉選擇器。角2 Firebase下拉選擇器
選擇課程後,課程描述應該出現在下面的另一個div中。
courses.component.html
<select class="form-control"
\t [ngModel]="(selectedCourse$ | async)"
\t \t (ngModelChange)="onChange($event)"
>
<option *ngFor="let course of (courses$ | async)"
\t [ngValue]="course"
>
{{ course.description }}
</option>
</select>
\t \t
<div *ngIf="(selectedCourse$ | async)">
{{ course.description }}
</div>
courses.component.ts
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs/Rx';
import { Course } from '../shared/model/course';
import { CoursesService } from '../shared/model/courses.service';
@Component({
selector: 'app-courses',
templateUrl: './courses.component.html',
styleUrls: ['./courses.component.css']
})
export class CoursesComponent implements OnInit {
courses$: Observable<Course[]>;
selectedCourse$: Observable<Course>;
courseUrl: string;
constructor(
private coursesService: CoursesService
) { }
ngOnInit() {
this.courses$ = this.coursesService.findAllCourses();
this.selectedCourse$ = this.coursesService.findCourseByUrl(this.courseUrl);
}
onSelect(course: Course): void {
console.log(course);
this.selectedCourse$ = course;
}
onChange(newValue) {
console.log(newValue);
this.selectedCourse$ = newValue;
}
}
我可以選擇課程,但在課程描述將不會出現下面的div。任何幫助都感激不盡。
它的工作原理!謝謝。 –
非常歡迎您!既然它解決了你的問題,請考慮接受答案,通過點擊這個答案的投票下的灰色滴答聲;)此外,快樂的編碼! :) – Alex
絢爛!我是新來的。感謝您在打勾上的提醒。 –