
众所周知,微信小程序的js中不能使用 window对象 以及 document对象 。
难道他们真的不存在吗?事实并非如此。
熟悉this的同学都知道,在浏览器环境下,触发一个立即执行函数时,其中this的指向往往都是window对象。
这段js在小程序中是同样有效的,所以window对象确实存在。
window对象中包含了很多对象,如wx、Page、Component、Behavior等变量,你可以试试看。
不过在严格模式下,this就指向了undefined。而且es6转es5时也默认开启了严格模式。
如果你想尝试,首先你需要在微信开发工具中选择右上角的 详情-项目设置 取消选中ES6转ES5即可
获取到了window对象,我们就可以获取其他全局变量
当我们js报错时,其路由前面部分是一样的。
在控制台中,我们可以看到微信小程序的html部分的源码。
在实际开发中我们可以利用这个方法,把一些全局方法给转移或清除掉,比如alert。
1、非严格模式下,可以获取window对象。
2、可以在window中扩展自己的全局变量,当然并不推荐这样做。
3、各种你能想到的 *** 作...
此文仅供交流,如有不当,请指正。
官方链接: https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html
单个页面的page.json会覆盖app.json中对于小程序window的设置,page和debug等不可以在page.json中被设置。
"window": {
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "微信接口功能演示",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light"
}
(tabBar最多可设置五个,再多就不会显示)
"tabBar": {
"color": "#444", 设置字体颜色
"selectedColor": "#219bf3", 设置选中字体颜色
"backgroundColor": "#e0e0e0", 设置背景颜色
"borderStyle": "white", 设置tab栏上边框颜色(可选只有white和black)
"position": "bottom", 设置tab位置(可选只有bottom和top)
"list": [
{
"text": "Index",
"pagePath": "pages/index/index",
"iconPath": "image/01.png", 设置tab栏图标
"selectedIconPath": "image/01-active.png" 被选中时的图标(颜色由图标本身决定
},
{
"text": "Demo",
"pagePath": "pages/demo/demo",
"iconPath": "image/02.png",
"selectedIconPath": "image/02-active.png"
}
]}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)