在将angularjs组件转换为es6类时,我在哪里做错了?

问题描述 投票:-1回答:1

图表的选项不会出现。 $ 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);
angularjs ecmascript-6 es6-class angularjs-components
1个回答
2
投票
const ChartComponent = {
    bindings: {
        $transition$: '<',
        options: '<'
    },
    controller: chartController,
    templateUrl: 'views/chart.html',
}

app.component('chart', ChartComponent);

.component实例的angular.module方法需要一个对象作为其第二个参数,而不是一个类(或函数)。

有关更多信息,请参阅

© www.soinside.com 2019 - 2024. All rights reserved.