我是Typescript的新手,我希望能够在点击元素时运行一个方法。 我使用带有webpack的awesome-typescript-loader创建了一个项目并处理了ts文件。
我创建了一个TS类:
export class MyApp {
myMethod(myParam: number): void {
console.log("I'm here");
}
}
export const myApp = new MyApp();
在我的主页中,我导入了ts文件:
import { theApp } from "./ts/myApp";
并在我的HTML中我
<div onclick="theApp.myMethod(123);"></div>
但我可以看到以下错误:
未捕获的ReferenceError:未定义myApp HTMLDivElement.onclick
使用TS对象的正确方法是什么?
答案 0 :(得分:0)
将theApp
放到window
对象上:window["theApp"] = theApp;
然后它是全局可用的,您的onclick
处理程序应该可以访问。
class MyApp {
myMethod(myParam) {
console.log("I'm here");
}
}
window['theApp'] = new MyApp();
<div onclick="theApp.myMethod(123);">take theApp from window implicitly</div>
<div onclick="window['theApp'].myMethod(123);">take theApp from window explicitly</div>
答案 1 :(得分:0)
更新以下行
MAIN.TS
导入声明
import { myApp } from "./ts/myApp";
构造
constructor(private theApp: myApp) {}
html文件中的函数调用
<div onclick="theApp.myMethod(123);"></div>