在 HTML 文件中使用 System.js 调用打字稿 class 方法
Using System.js in HTML file to invoke a typescript class method
我正在试用 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
结果是一个模块,而不是 class。返回的模块引用了从它导出的所有东西,因此您可以获得 Play
class 作为 play.Play
,但是要调用 start()
方法,您必须创建一个 start()
的对象 class 首先,使用 new
。这样的事情应该有效:
<script>
System.import('./play.js').then(function(play) {
var player = new play.Play();
player.start();
});
}
</script>
我正在试用 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
结果是一个模块,而不是 class。返回的模块引用了从它导出的所有东西,因此您可以获得 Play
class 作为 play.Play
,但是要调用 start()
方法,您必须创建一个 start()
的对象 class 首先,使用 new
。这样的事情应该有效:
<script>
System.import('./play.js').then(function(play) {
var player = new play.Play();
player.start();
});
}
</script>