JABrea--从从iOS的世界初探微信小程序开发遇的坑与喜的世界初探微信小程序开发遇的坑与喜(持续更持续更
新新...) ...
前言前言
作为一名勤恳单纯的未来iOS开发者,受迫于对新事物的好奇,便义无反顾地举手加入了团队里一个小程序项目的开发中。
首先要声明一下:
本人对前端了解微浅,微信小程序开发也无深入了解,这里仅作为一篇小程序的项目经验总结文来跟大家分享。
微信小程序处于发展中,内嵌的方法仍在不断改善与补充,相信一些坑也会在未来的版本中被填平。
本文基于的基础库版本为1.5.3,内容如有疏漏,欢迎指教。
Dry goods 【干货】
一一. 值值
1. setData
1.
setData:是逻辑层(.js)向视图层(.wxml)进行的数据渲染,是一个异步操作,所以可能需要用到延迟执行方法来确保赋值成功
后的操作:
1. setTimeout(function () {
2.
3. })
4. }, duration) // duration: 毫秒(ms)
1. // 在该作用域里赋值能成功而page的data数据没有更新。但似乎没必要做这样不去刷新页面数据的操作,因为不是视图
层需要的数据源没必要写在data中,而且这样可能会污染该值。
1. this.data.testData = testData
2. // 这是真正需要的赋值操作,刷新值后渲染页面。
3. that.setData({
4. testData: testData,
5. })
3.
1. // 在闭包中用到this需首先将其引用,并且需要声明在赋值的作用域外层,否则会报`Cannot read property 'data' of
undefined`错误。
2. var that = this
3. this.setData({
4. testData: that.data.testData2,
5. })
6. // 若setData操作仍在一个闭包内,则同理写成that.setData({})。
7. { // 闭包
8. that.setData({
9. testData: that.data.testData2,
10. })
11. }
2. 小程序码传参小程序码传参
向后端生成小程序码的请求中传入页面路径path与约定参数(test),即可同navigator跳转方法获得类似。 onLoad: function
(options) { var t = options.test }