В соответствии с этим ответом Я придумал приведенный ниже код, который отлично работает:
result: any;
ngOnInit() {
this.result = getResult();
}
<ngx-charts-bar-vertical-stacked
*ngIf="(result | async) as results"
[results]="results"
>
</ngx-charts-bar-vertical-stacked>
Теперь я хочу передать результат в качестве входного параметра:
@Input() result: any;
<ngx-charts-bar-vertical-stacked
*ngIf="(result| async) as results"
[results]="results"
>
</ngx-charts-bar-vertical-stacked>
но это просто так не работает, диаграмма просто не отображается, и я не вижу никаких ошибок в консоли. Однако я придумал трюк, назначив входное значение другому свойству компонента, которое я объявил:
data: any;
@Input() result: any;
ngOnInit() {
this.data = this.result;
}
<ngx-charts-bar-vertical-stacked
*ngIf="(data| async) as results"
[results]="results"
>
</ngx-charts-bar-vertical-stacked>
Таким образом, это работает, но мне интересно, как бы вы сделали это правильно, не вводя новые переменные и не делая хаков, таких как this.data = this.result;