在index.vue中mounted方法内,把被调用的方法暴露在window中。
mounted() {
window["sdkLogin"] = (loginCallback) => {
// //弹出登录框
},
window["sdkLogout"] = (logoutCallback) =>{
},
//...
},
在js中封装一个方法。
function login(callback,logoutCallback) {
sdkLogin({
onsuccess(u) {
userInfo = u;
// checkLogin(userInfo)
callback.onsuccess(userInfo);
}
});
}
在需要调用的html文件中引入对应的js文件。
<body>
<button onclick="login()" class="btn">
登录
</button>
</body>
<script type="module">
import sdk from "@/pages/sdk.js";
function login() {
sdk.login({
onsuccess(data) {
// console.log(data);
}
});
}
window.login = login;
</script>
需要注意的是调用的方法传参的类型和参数数量必须要对应,不然会提示找不到对应的方法。