我想在ReactJS + Typescript环境中使用IIFE。所以我用ReactJS + Typescript重写了这段代码
IIFE
(function() {
//Constructor
this.Radio = function(){
var defaults = {
locale: "en-US",
}
}
// Public Methods
Radio.prototype.load = function() {
}
}());
ReactJS + Typescript
export default class Radio{
options: any = {
locale: "en-US",
};
constructor(props: any) {
var defaults = {
locale: "en-US",
}
}
// Public Methods
load = () => {
}
}
我想要实现的是,当bundle.js从html页面加载时,我可以通过像下面那样传递一些值来实例化
<script src="main.js"></script>
<body>
<div id="app"></div>
</body>
<script>
$(function() {
var test = new Radio({ <----error on this line
locale: "en-US",
});
test.load();
});
</script>
但是当我运行上述代码时,出现此错误 Uncaught ReferenceError:未定义无线电
是否可以像上面那样实现IIFE?
谢谢
答案 0 :(得分:0)
但是当我在上面的代码中运行时,出现此错误Uncaught ReferenceError:未定义无线电
如果您希望此旧代码仍然有效,则需要像以前一样将Radio
放在此代码上。例如。
export default class Radio{
options: any = {
locale: "en-US",
};
constructor(props: any) {
var defaults = {
locale: "en-US",
}
}
// Public Methods
load = () => {
}
}
// ADD
(window as any).Radio = Radio;