gpt4 book ai didi

typescript - 在 HTML 文件中使用 System.js 调用 typescript 类方法

转载 作者:搜寻专家 更新时间:2023-10-30 21:24:09 26 4
gpt4 key购买 nike

我正在试用 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。有什么想法吗?

最佳答案

System.import 结果是一个模块,而不是一个类。返回的模块引用了从它导出的所有东西,因此您可以将 Play 类作为 play.Play 获取,但要调用 start() 方法您必须首先使用 new 创建该类的对象。这样的事情应该有效:

  <script>
System.import('./play.js').then(function(play) {
var player = new play.Play();
player.start();
});
}
</script>

关于typescript - 在 HTML 文件中使用 System.js 调用 typescript 类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41130195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com