将参数传递给SystemJS

时间:2016-05-11 21:42:56

标签: ecmascript-6 systemjs

我正在尝试使用SystemJS,并在尝试将参数传递给导出的类时遇到了一些问题。

内联到我的HTML中,我有以下内容:

<script>
    System.import('modules/accordion.js').then(function(module){
        module.accordion('HELLO THERE');
    });
</script>

accordion.js文件包含以下类:

class Accordion {
    constructor(message) {
        this.message = message;
        this.buildAccordion();
    }
    buildAccordion() {
        console.log(this.message);
    }
}

export var accordion = new Accordion();

在由SystemJS导入之前,此文件已使用babel进行预转换。

生成的控制台日志包含undefined。如何正确地将参数传递给此函数?

1 个答案:

答案 0 :(得分:0)

@zerkms指出,当实例化类时,消息为undefined

当我从导入回调中调用该类时,该消息将被正确传递。所以现在手风琴文件看起来像这样:

export class Accordion {
    constructor(message) {
        this.message = message;
        this.buildAccordion();
    }
    buildAccordion() {
        console.log(this.message);
    }
}

我的内联脚本看起来像:

<script>
    System.import('modules/accordion.js').then(function(module){
        var accordion = new module.Accordion('HELLO THERE');
    });
</script>

现在我在控制台中打印HELLO THERE。 :)