Я новичок в Angular 2, и я тоже использую PrimeNG.Как избежать загрузки пользовательского интерфейса перед данными в Angular 2 + PrimeNG?
Просто чтобы показать, что происходит, я дублировал вкладку «Configurações», как вы можете видеть на изображениях.
Эти две вкладки имеют точно такой же код, но поведение отличается. Первый не имеет правильно загруженных переключателей. Второй работает отлично.
Мой HTML:
<p-tabView orientation="left">
<p-tabPanel header="Administrador">
<p-growl [value]="msgs"></p-growl>
<p-dataTable [value]="tblColabAdminList">
<p-column field="snomatrcompl" header="Matrícula"></p-column>
<p-column field="nflativo" header="Status" styleClass="col-button">
<template let-tblColabAdmin="rowData" pTemplate type="body">
<p-inputSwitch onLabel="ativo" offLabel="inativo" (click)="selectAdmin(tblColabAdmin)" [(ngModel)]="tblColabAdmin.nflativo"></p-inputSwitch>
</template>
</p-column>
</p-dataTable>
</p-tabPanel>
</p-tabView>
И это мой Машинопись:
import { Component, OnInit } from '@angular/core';
import { ConfigService } from './config/configService';
import { TblColabAdmin } from './config/TblColabAdmin';
import { Message } from 'primeng/primeng';
@Component({
templateUrl: 'app/app.config.html',
selector: 'config-app',
providers: [ConfigService]
})
export class AppConfig implements OnInit {
private errorMessage: string;
tblColabAdminList: TblColabAdmin[];
msgs: Message[] = [];
constructor(
private configService: ConfigService) {
}
ngOnInit() {
this.getConfig();
}
getConfig() {
this.configService.getTblColabAdmin().subscribe(
tblColabAdminList => this.tblColabAdminList = tblColabAdminList,
error => this.errorMessage = <any>error
);
}
selectAdmin(tblColabAdmin: TblColabAdmin) {
this.msgs = [];
this.msgs.push({ severity: 'info', summary: 'Administrador selecionado', detail: 'Matrícula: ' + tblColabAdmin.snomatrcompl });
}
}
Я думаю, что в первой вкладке интерфейс загружается до данные.
Но почему это происходит и как это решить? Благодаря!
Я не уверен, какой тип задней части вы использовали, но есть такие вещи, как Router Data Resolvers, которые могут помочь https://angular.io/api/router/Resolve Angular University пример https://angular-university.io/lesson/angular-rxjs-reactive-patterns-implementing-a-router-data-resolver-introducing-typescript-tuple-types – JGFMK