一:遇到的一些问题 最近,接触了一段时间的微信小程序,在小程序的开发过程中,遇到了不少坑,再次总结一下: 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组件的官方文档: 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 命名规范 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 {}
参考资料: |