Согласно этому ответу Я придумал приведенный ниже код, который отлично работает:
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;