Javascript 如何在我的typescript生成的js中调用函数
所以我想在按下html定义的按钮时调用一个函数。问题是我找不到它,控制台记录错误“Reference error:function not defined” my output.js(组合编译类型脚本)的精简布局如下所示:Javascript 如何在我的typescript生成的js中调用函数,javascript,html,typescript,phaser-framework,Javascript,Html,Typescript,Phaser Framework,所以我想在按下html定义的按钮时调用一个函数。问题是我找不到它,控制台记录错误“Reference error:function not defined” my output.js(组合编译类型脚本)的精简布局如下所示: window.onload = function () { var game = new SpaceGen.Game(); }; var __extends = this.__extends || function (d, b) { for (var p in
window.onload = function () {
var game = new SpaceGen.Game();
};
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var SpaceGen;
(function (SpaceGen) {
var Game = (function (_super) {
__extends(Game, _super);
function Game() {
_super.call(this, 512, 640, Phaser.AUTO, 'content');
this.state.add('state_World', SpaceGen.World, false);
this.state.start('state_World');
}
return Game;
})(Phaser.Game);
SpaceGen.Game = Game;
})(SpaceGen || (SpaceGen = {}));
var SpaceGen;
(function (SpaceGen) {
var World = (function (_super) {
__extends(World, _super);
function World() {
_super.apply(this, arguments);
...
}
World.prototype.getSeed = function () {
console.log("submitted");
var seed = document.getElementById('seed')[0].value;
};
return World;
})(Phaser.State);
SpaceGen.World = World;
})(SpaceGen || (SpaceGen = {}));
我在html文件中调用函数,如下所示:
<input id="seed" type="number" name="seed" value="111" />
<button onclick="getSeed()">Start</button>
开始
output.js(和phaser.js,因为这是使用phaser的)已经加载,其他一切都正常工作
如何调用该函数?我尝试了很多类似的方法。game.getSeed()、game.getSeed()以及更多,如果这是一个正确的说法,那就是在黑暗中钓鱼。
getSeed
是SpaceGen.World
的一种方法。您已在onload处理程序中将其实例化为private变量,因此无法从属性处理程序访问它
最简单的解决方案是创建一个全局模型。但是最好的方法是用脚本而不是通过HTML属性注册处理程序
<button id="my-button">Start</button>
window.onload = function () {
var world = new SpaceGen.World();
var button = document.getElementById('my-button');
button.addEventListener('click', function(){
alert(world.getSeed());
})
};
开始
window.onload=函数(){
var world=新的SpaceGen.world();
var-button=document.getElementById('my-button');
addEventListener('click',function(){
警报(world.getSeed());
})
};
getSeed
是SpaceGen.World
的一种方法。您已在onload处理程序中将其实例化为private变量,因此无法从属性处理程序访问它
最简单的解决方案是创建一个全局模型。但是最好的方法是用脚本而不是通过HTML属性注册处理程序
<button id="my-button">Start</button>
window.onload = function () {
var world = new SpaceGen.World();
var button = document.getElementById('my-button');
button.addEventListener('click', function(){
alert(world.getSeed());
})
};
开始
window.onload=函数(){
var world=新的SpaceGen.world();
var-button=document.getElementById('my-button');
addEventListener('click',function(){
警报(world.getSeed());
})
};
你能分享你的打字脚本文件吗?你能分享你的打字脚本文件吗?小错误,但你用的是Game
而不是World
。小错误,但你用的是Game
而不是World
。