我想在我的angular2项目中放置我用纯javascript和html5画布制作的在线游戏。
我在外部文件中编写了我的脚本,并在角度index.html
的头部添加了脚本标记,在我的组件打字稿中,我声明了我的onload函数:
declare var startGame1: any;
startGame1是一种让画布为我的游戏做好准备的方法
问题是当我在startGame1()
中拨打AfterViewInit
时出现这样的错误:
Unhandled Promise rejection: Error in :0:0 caused by: Cannot read property 'clearRect' of undefined ; Zone: angular ; Task: Promise.then ; Value:
ViewWrappedError {__zone_symbol__error: Error: Error in :0:0 caused by: Cannot read property 'clearRect' of undefined at ViewWrappedErro……} Error: Error in :0:0 caused by: Cannot read property 'clearRect' of undefined
答案 0 :(得分:0)
我建议您使用.angular-cli.json
加载外部js。
在apps -> scripts
中插入外部.js
在数组中的相对路径。
在app
文件夹中,创建一个.d.ts
文件以插入declare var startGame1: any;
。例如:
myGame.d.ts
declare var startGame1: any;
网络包将自动加载myGame.d.ts
,然后为您的应用定义startGame1
。