外部的js 方法如何能调用egret内部的方法

 我来答
高大还昂扬灬熊猫4678
2018-08-09 · TA获得超过3988个赞
知道大有可为答主
回答量:2048
采纳率:80%
帮助的人:211万
展开全部

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

  • 总结:在 js 调用 js 的基础上增加声明。其他的比如变量等,也是按上面步骤来实现。

    js 调用 ts

    js 调用 ts 其实就是 ts 调用 ts,由于 ts 调用 ts 可能会有同模块下的省略写法,因此只要使用不同模块下的调用来写即可。

    步骤

  • 找到非同一模块下 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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式