我们发现小程序API的方法都是挂载到wx这个变量上,全局可以访问到,我们是不是可以将自己自定义的方法或者变量也挂载wx这个变量上呢?
比如我们创建一个js在app.js上引入,然后在index.js上访问
- $.js
if (wx) {
let host ="https:baidu.com"
wx.$ = {};
wx.$.host = host;
module.exports = wx.$;
}
- app.js
import './utils/$';
App({
data: {
},
})
- index.js
Page({
onLoad() {
console.log(wx.$.host)
}
})
- 控制台打印结果
https:baidu.com
同理我们也可以在$.js定义方法
- $.js
if (wx) {
let host ="https:baidu.com"
wx.$ = {};
wx.$.host = host;
wx.$.login = function (userInfo) {
cosnole.log("我是登录")
}
module.exports = wx.$;
}
- index.js
Page({
onLoad() {
wx.$.login()
}
})
- 控制台打印结果
我是登录
为了避免与小程序官方定义方法和变量冲突,我们自定义的都要在 $ 对象内
实际用途有小程序的一个全局代理
和一些常用的全局方法可以声明到$中可以节省每个文件都要var mta = require(’.js’);去引用js
还有哪些不明白的可以留言或者私信作者一天内回复