Где я делаю неправильно при преобразовании компонента angularjs в класс es6? - PullRequest
0 голосов
/ 26 апреля 2019

Опции для графика не идут.Метод $ onChanges не вызывается.Там нет ошибки компиляции, хотя.Я выполнил то же самое без соглашения ES6.Когда я преобразовал это в классы es6, я столкнулся с этой проблемой.Пожалуйста, помогите ...

class chartController{

    constructor(dashboardService){
        this.dashboardService = dashboardService;
    }

    $onChanges(changes) {
        console.log(changes);
        if (changes && changes.options.currentValue) {

          this.lineChartOptions = dashboardService.options.getLineChartOptions();
            console.log("calling updateLineChartOptions");
            updateLineChartOptions();
        }
    }
    updateLineChartOptions() {

        angular.extend(this.lineChartOptions, this.options);
        this.lineChartOptions.bindingOptions = {
            'dataSource': '$ctrl.options.dataSource',
        };

        this.lineChartOptions.valueAxis = {
            valueType: 'numeric'
        };
    }
}
class ChartComponent{
    bindings = {
        $transition$: '<', options: '<'
    };
    controller = chartController;
    templateUrl = 'views/chart.html';
}

app.component('chart', ChartComponent);

1 Ответ

2 голосов
/ 26 апреля 2019
const ChartComponent = {
    bindings: {
        $transition$: '<',
        options: '<'
    },
    controller: chartController,
    templateUrl: 'views/chart.html',
}

app.component('chart', ChartComponent);

Метод .component экземпляра angular.module требует объекта для второго аргумента, а не класса (или функции).

Для получения дополнительной информации см.

...