使一个打字稿函数可用于窗口命名空间

时间:2018-04-28 12:50:49

标签: javascript typescript webpack

我目前正在进入打字稿和webpack,但是现在我对如何解决这个问题感到迷茫:

我想在提交表单时调用typescript类中的函数。还没有涉及到魔法,但是我无法弄清楚如何使我的表单可以访问这些功能,我一直面临着没有定义函数的问题,因此必须缺少某些内容才能使其可用于窗口命名空间。

这是我的.ts文件:

class Login {

    loginAccount() {
        console.log("test");
        debugger;
    }
};

export const login = new Login();

你可以看到,这里没有魔法。我现在只是试着接听电话。

此文件在我的webpack中导入(在我的index.ts中):

import './Login/login.ts';

我的html文件中的表单如下所示:

<form onsubmit="login.LoginAccount(); return false;">
    Email: <input type="text" name="email"><br>
    Password: <input type="text" name="password"><br>
    <input type="submit" name="Submit" value="Submit"/>
</form>

我无法让这个工作。我确信解决方案相当简单,但在谷歌搜索30分钟后,我发现大多数解决方案都是用手提钻来解决这个问题。

1 个答案:

答案 0 :(得分:1)

Webpack并未从window命名空间中提供所有导出。您可以在代码中明确地执行此操作。

class Login {
  loginAccount() {
    console.log("test");
    debugger;
  }
};
const login = new Login();
// as it's typescript you'd probably need (window as any).login = login 
window.login = login 
export { login };