欢迎光临,了解微信小程序开发,就上易用通!

官方文档BUG,tip及QA提示一览

发布:2018-01-25 11:40浏览: 来源:网络 作者:tianshu

为了方便大家发现一些注意点,官方文档中最近的一次更新1123版本时,增加了一些提示信息,我现在将这些信息集中一下,以便同学们查看;

特别说明:本bug及tip仅适用于0.10.112301及之前的版本,之后更新的版本请优先对比官方文档;

注册程序:
注意:
App() 必须在 app.js 中注册,且不能注册多个。
不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
不要在 onLaunch 的时候调用 getCurrentPage(),此时 page 还没有生成。
通过 getApp() 获取实例之后,不要私自调用生命周期函数。

注意:
  • 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。
  • 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
     

Bug & Tip
  • bug: iOS/Android 6.3.30, 首次进入页面,如果页面不满一屏时会触发 onReachBottom ,应为只有用户主动上拉才触发;
  • bug: iOS/Android 6.3.30, 手指上拉,会触发多次 onReachBottom ,应为一次上拉,只触发一次;
     


模块化
  • exports 是 module.exports 的一个引用,因此在模块里边随意更改 exports 的指向会造成未知的错误。所以我们更推荐开发者采用module.exports 来暴露模块接口,除非你已经清晰知道这两者的关系。
  • 小程序目前不支持直接引入 node_modules , 开发者需要使用到 node_modules 时候建议拷贝出相关的代码到小程序的目录中。
     

需要注意的是:
  • 这种转换只会帮助开发处理语法上问题,新的 ES6 的 API 例如 Promise 等需要开发者自行引入 Polyfill 或者别的类库。
  • 为了提高代码质量,在开启 ES6 转换功能的情况下,默认启用 javasctipt 严格模式,请参考 "use strict" 。
     


数据绑定
关键字(需要在双引号之内)
true:boolean 类型的 true,代表真值。
false: boolean 类型的 false,代表假值。
<checkbox checked="{{false}}"> </checkbox>
特别注意:不要直接写 checked="false",其计算结果是一个字符串,转成 boolean 类型后代表真值。


条件渲染
注意: <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。


事件
注:除上表之外的其他组件自定义事件如无特殊申明都是非冒泡事件,如<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件,(详见各个组件)

特殊事件: <canvas/> 中的触摸事件不可冒泡,所以没有 currentTarget。

说明: target 和 currentTarget 可以参考上例中,点击 inner view 时,handleTap3 收到的事件对象 target 和 currentTarget 都是 inner,而 handleTap2 收到的事件对象 target 就是 inner,currentTarget 就是 middle。


WXSS
建议: 开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。 注意: 在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。


scroll-view
  • tip: 请勿在 scroll-view 中使用 textarea、map、canvas、video 组件
  • tip: scroll-into-view 的优先级高于 scroll-top
     


text
除了文本节点以外的其他节点都无法长按选中。


button
注:button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}


input
  • bug : 微信版本 6.3.30, focus 属性设置无效;
  • bug : 微信版本 6.3.30, placeholder 在聚焦时出现重影问题;
  • tip : input 组件是一个 native 组件,字体是系统字体,所以无法设置 font-family;
  • tip : 在 input 聚焦期间,避免使用 css 动画;
     


textarea
  • bug: 微信版本 6.3.30,textarea 在列表渲染时,新增加的 textarea 在自动聚焦时的位置计算错误
  • tip: 请勿在 scroll-view 中使用 textarea 组件
     


navigator
注:navigator-hover默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}, <navigator/>的子节点背景色应为透明色


image
注:image组件默认宽度300px、高度225px


canvas 
  • canvas 标签默认宽度300px、高度225px
  • 同一页面中的 canvas-id 不可重复,如果使用一个已经出现过的 canvas-id,该 canvas 标签对应的画布将被隐藏并不再正常工作




免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。