Свойство ввода не работает в шаблоне ngx-charts - PullRequest
0 голосов
/ 04 декабря 2018

Согласно этому ответу Я придумал приведенный ниже код, который отлично работает:

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;

...