【发布时间】:2018-08-13 06:31:36
【问题描述】:
我是 Angular 的新手。我无法理解 mat-select 和 mat-option 元素的功能。
我希望我的 mat-select 仅在单击时获取数据。 但是现在我必须单击两次才能使列表出现,我真的不明白为什么。如果有人有任何想法,我将不胜感激。
我的 HTML:
<mat-select placeholder="Aircraft Family" [(ngModel)]="aircraftFamily" (click)="loadFamilies()">
<mat-option *ngFor="let myAircraftFamily of aircraftFamilies" [value]="myAircraftFamily.name">{{myAircraftFamily.name}}</mat-option>
</mat-select>
我的模块:
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit {
aircraftFamily: string = '';
aircraftFamilies = [];
constructor(private route: ActivatedRoute, private headerService: HeaderService) {
this.route.paramMap.subscribe(
(params: ParamMap) => {
if (params.has('family')) {
this.aircraftFamily = params.get('family');
}
}
);
}
ngOnInit() {
}
loadFamilies() {
this.headerService.getAircraftFamilies().then((result) => {
this.aircraftFamilies = result; // [{id:xxx, name:aircraftX},..]
}, (error: HttpErrorResponse) => {
console.log('error: ' + error)
});
}
}
【问题讨论】:
标签: typescript angular-material angular5 ngfor