我正在尝试使用Typescript和System.js。 Typescript编译器使用-w标志运行。
我想在页面加载时调用一个方法,我可以导入播放,但不能用'then'访问它:
HTML文件:
<!doctype html>
<head>
<script src='//cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.41/system.js'> </script>
<script>
System.import('./play.js').then(function(play) {
play.start();
});
}
</script>
</head>
<body>
</body>
play.ts文件:
export class Play {
start() {
alert('hello...');
}
}
我收到错误:Uncaught (in promise) TypeError: play.start is not a function
。有什么想法吗?
答案 0 :(得分:4)
System.import
结果是一个模块,而不是一个类。返回模块引用了从它导出的所有内容,因此您可以将Play
类作为play.Play
,但要调用start()
方法,您必须首先使用{创建该类的对象{1}}。这样的事情应该有效:
new