外部js文能否获取当前小程序实例对象?
发布于 5 年前 作者 chaoyao 14358 次浏览 来自 问答

这是我小程序的接口js文件,我想在这个文件里面获取小程序的实例,是不是获取不到呢?

小程序全局对象里面有个id,需要在接口文档里面展示,但是我这样写会给我报错。请问是不是外部js文件里面获取不到小程序实例呢?如果获取不到的话,我还得一个个的改接口,,要麻烦死!啊啊啊啊啊 谁来救救我

1 回复

可以的,但前提是你这个js文件在你执行App()之后执行。

你可以换种写法。api.js里不要getApp()。

api.js里export一个方法,然后app.js里import这个方法。确保app.globaData.id存在后再调用这个方法,把值传进去。

举例:

//api.js

const apiCfg = {

    baseUrl: https://xxx.com/api,

}

export function setApiCfg(cfg){

    Object.assign(apiCfg, cfg)

}

function getOpenid(xxx){

    return apiCfg.baseUrl + `/user/openid?id=${apiCfg.baseID}`

}

//app.js

import {setApiCfg} from ./api.js

App({

    globalData:{

        id: 123

    },

    onLaunch(){

        setApiCfg({

            baseID: this.globalData.id

        })

    },

})

回到顶部