外部的js 方法如何能调用egret内部的方法
1个回答
展开全部
ts 调用 js
步骤
找到 js 调用 js 的方法。
增加方法调用的声明。 请参考 如何生成 .d.ts 。
js 内的方法
- function callJsFunc(msg) { console.log("msg from egret : " + msg);}
ts 内声明
- declare function callJsFunc(msg:string);//可以放在 ts 文件内(建议在顶部或者底部,中间的没试过)或者单独放到一个 .d.ts 文件中,请不要放在其他类型的文件内。msg 类型根据函数体判断。
ts 内调用
- callJsFunc("hello js");
输出
- msg from egret : hello js
找到非同一模块下 ts 的调用(比如 example.A.CallEgretFunc("hello"))。
完全按上面调用的方式来写 (比如上面的 example.A.CallEgretFunc("hello"))。
ts 内的方法
- module exampleA { export class A { public callEgretMethod(msg:string):void { console.log("method msg from js : " + msg); } public static CallEgretFunc(msg:string):void { console.log("static msg from js : " + msg); } }}
非同一模块下 ts 调用
- module exampleB { export function b() { //调用方法 var a:exampleA.A = new exampleA.A(); a.callEgretMethod("method"); //调用静态函数 exampleA.A.CallEgretFunc("function"); }}
js 内调用
- var a = new exampleA.A();//去掉 a 的类型a.callEgretMethod("method");exampleA.A.CallEgretFunc("function");
输出
- method msg from js : methodstatic msg from js : function
示例
总结:在 js 调用 js 的基础上增加声明。其他的比如变量等,也是按上面步骤来实现。
js 调用 ts
js 调用 ts 其实就是 ts 调用 ts,由于 ts 调用 ts 可能会有同模块下的省略写法,因此只要使用不同模块下的调用来写即可。
步骤
示例
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询