一.TS调用JS的函数或者变量
在项目中可以能会遇到js和ts间变量的相互调用,直接ts直接调用js变量会报错
问题描述:
因为js没有类这个概念,所有访问的一般是js的全局变量或函数,如果在ts对象中直接调用js中的变量或函数时,会直接报错,显示xxx is undefined,意为这个变量没有声明
解决办法:
解决的办法呢,就是在ts文件中声明的声明要引用的js变量,例如:declare let test :any然后就可以使用该全局变量了,如下例子:
declare let share_game: any;
class LoginView {
public constructor() {
this.onClickRun();
}
public onClickRun() {
//share_game为js中的变量
share_game.share_weibo({
success: this.shareSuccess.bind(this),
error: this.shareErr.bind(this)
});
}
public shareSuccess() {
alert('成功');
}
public shareErr() {
alert('失败');
}
}
二.JS调用TS的函数或者变量
由于ts文件最终会被编译成为js文件,所有js调用ts文件中的变量,其实等同于ts对象相互间调用,或者js对象间的调用