Я перемещаю старое ионное приложение из V2 в V4-alpha и не могу привязать в шаблоне к наблюдаемой с помощью асинхронной трубы.Проблема возникает из-за наличия * ngFor элемента, вложенного в другой элемент с * ngIf.Таблица отображается нормально, когда не используется * ngIf, но не отображает таблицу данных, когда * ngIf включен и используется для переключения между различными таблицами данных.
В компоненте:
this.indLbdPlayers = this.fsService.getPlayersByIndScore(id);
this.indLbdPlayers.subscribe(players => {
this.indArray = players;
});
где
indLbdPlayers: Observable<HSPlayer[]>;
indArray: HSPlayer[];
В шаблоне:
<div *ngIf="!showTeamLbd">
<table>
...
<tr *ngFor="let player of indLbdPlayers | async; let ro = odd; let i = index;"
ничего не отображается.Однако, если использовать это в шаблоне:
<div *ngIf="!showTeamLbd">
<table>
...
<tr *ngFor="let player of indArray; let ro = odd; let i = index;" let ro = odd;
, т.е. без асинхронного канала к наблюдаемому, но с подпиской на наблюдаемое в компоненте, тогда массив будет отображаться, как и ожидалось.
Из ионной информации:
cli пакеты: (/ usr / local / lib / node_modules)
@ ionic / cli-utils: 2.0.0-rc.6 ionic (Ionic CLI): 4.0.0-rc.6
глобальные пакеты:
cordova (Cordova CLI): 8.0.0
локальные пакеты:
@ angular-devkit / core: 0.6.0
@ angular-devkit / schematics: 0.6.0
@ angular / cli: 6.0.1
@ ionic / schematics-angular: 1.0.0-rc.6
Платформы Cordova: отсутствуют
Ionic Framework: @ ionic / angular 4.0.0-alpha.7