Ngif условный массив и вывод на дочерний компонент не работает - PullRequest
0 голосов
/ 16 октября 2018

Почтовый вызов возвращает список сообщений об ошибках, которые я отправляю компоненту employee-list через службу.Там он помещает ngIf = "errorlist" в компонент "error-message".Он также отправляет [errorlist] = "errorlist" для того же компонента.

Компонент списка ошибок отобразит ошибки.По какой-то причине это не работает.В моем консольном журнале в моем компоненте списка сотрудников я вижу, что я получаю список ошибок, и он имеет, например, 3 в длину, поэтому он должен работать!

компонент списка сотрудников

@Component({
selector: 'employee-list component',
template: `
<div class="form-group">
<input class="new-style" type="text" [(ngModel)]="listFilter" placeholder="Filter employees..">
    <p class="new style">         
Showing{{filteredEmployees.length}} of{{totalCount}} employees.
   </p>
<ng-container *ngIf="errorList?.length">
    <error-message [errorList]="errorList"></error-message>
</ng-container>
<p *ngIf="errorList.length > 0">hello</p>
</div>
 `
})

export class employeeListComponent implements OnInit {
errorList: ErrorMessage[] = [];

ngOnInit(): void {
       .........
    this.validationService.errorEmitter.subscribe(
        (errorData: ErrorMessage[]) => {
            this.displayErrors(errorData);
        });
}

    displayErrors(data: ErrorMessage[]) {
    if (data.length) {
        this.errorList = data;
        console.log('errorList ', this.errorList);
        console.log('errorList length ', this.errorList.length);
    }
}
}

компонент сообщения об ошибке

@Component({
selector: 'error-message',
template: `
<ng-container *ngIf="errorList">
 <ng-container *ngFor="let error of errorList">
    <div class="validation-summary error no-shadow">
        <ul>
            <li>{{ error.SourceReference }}, {{ error.ErrorMsg }}</li>
        </ul>
    </div>
 </ng-container>
</ng-container>
`
})
export class ErrorMessageComponent {
@Input()
errorList: ErrorMessage[] = [];


ErrorMsg: string;
SourceReference: string;
Properties: string[];

ngOnInit(): void {
    console.log('errorComp ', this.errorList);
  }
}

1 Ответ

0 голосов
/ 16 октября 2018

Я переместил компонент ошибки, службу проверки и html из компонента employeeelist в родительский элемент employeeelistcomponent (employeeComponent), и теперь он работает. Хотя не совсем уверен, почему.Может быть, списки сотрудников и сообщений об ошибках - это братья и сестры? ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...