分享者:tearfc,原文地址
最近,接触了一段时间的微信小程序,在小程序的开发过程中,遇到了不少坑,再次总结一下:
1.小程序所有接口域名必须为https,而且不能加端口号;
比如:在小程序后台设置时无端口号,调用时再加入,会出现本地调试可用,线上版本不可用的情况。
2.wx.request 请求最大并发数为5,如果超过此限制,可能会出现开发工具卡死等情况;
3.wx.navigateTo 页面路径最多5层,超过5层会出现跳转失败的情况。
尽量配合wx.redirectTo和wx.navigateBack使用,其中wx.navigateBack可以选择出栈页面数量
wx.navigateBack({
delta: 1
})
4.html中的div标签需要替换成view,否则div样式不能正常显示;
5.最外层view中的自定义属性(如:data-id)在点击view内部标签时无效,可以给所有标签加入该属性;
6.开发时可以选择无appid,这样即使没有https,未设置安全域名也能正常开发,想要通过手机预览必须填写appid,需开发者本人登录开发工具才可以预览(需管理员添加开发者);
7.正式上线前可以提交线上体验版,体验版需要管理员添加体验者;
8.只能有一个管理员,每次登录或修改信息全部需要管理员扫码。
二:小程序中地图的使用
小程序map组件的官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/map.html
1.controls控件:在地图的固定位置(相对位置)上显示,并且不随地图移动。clickable为true时,可触发bindcontroltap的方法。
2.circles控件:通过经纬度确定中心点,radius属性单位为米。
3.通过wx.createMapContext('地图id')可以获取map对象。其中map对象包括
getCenterLocation: 获取当前地图中心位置的经纬度,并返回 gcj02 坐标(wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标),
moveToLocation:将地图中心移动到当前定位点,map组件中需要加入show-location属性。
三:BEM 命名规范
分享者:ONE-SUNDAY,原文地址 BEM其实是块(block)、元素(element)、修饰符(modifier)的缩写,利用不同的区块,功能以及样式来给元素命名。这三个部分使用__与--连接(这里用两个而不是一个是为了留下用于块儿的命名)。命名约定的模式如下:
.block {}
.block__element {}
.block--modifier {}
block 代表了更高级别的抽象或组件
block__element 代表 block 的后代,用于形成一个完整的 block 的整体
block--modifier 代表 block 的不同状态或不同版本
.block {
@at-root #{&}__element {}
@at-root #{&}--modifier {}
}
/* 生成的CSS */
.block {}
.block__element {}
.block--modifier {}