在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
近期完成了一个小程序,自己做的前后端开发、真是惨哭我了o(╥﹏╥)o,下面几点希望大家可以避雷。首先,想先介绍一下我遇到问题的解决思路: 1、先在postman调试接口,看数据获取是否正常, 1.数据更新想改变data数据,并不是简单的data:{ }就可以的,因为视图层和逻辑层的数据更新不一致,所以需要使用API:this.setData({ }) 进行改变。 1.1 补充,如何用setData修改数组或对象中的一个属性值 需求:改变lists[0]中的Sname Page({ data:{ lists:[ { Sno:"001", Sname:"梨花" }, { Sno:"002", Sname:"黛玉" } ] } }) 法一:直接修改 onLoad:function () { var that = this; that.setData({ 'lists[0].Sname' : '小花' }) } 法二:①定义一个变量 把(lists[0].Sname)用字符串拼接起来 ②修改变量 onLoad:function () { var that = this; var s = "lists[" + 0 + "].Sname"; that.setData({ [s] : '小花' }) }
2.this指向当函数定义的时候,会使用API,此时this指向会改变。但想在函数中使用全局上下文的this,我们选择利用that进行this指向的改变。 在一个新函数中,定义一个that变量等于this,即选择用that进行备份。 onLoad:function () { var that = this; }
3.存储全局变量①首先在app.js中,定义全局变量globalData,可以原来存储登录状态的信息 globalData: { user:{}, Status:{} } ② 在其他js文件调用的时候,注意要先定义一个变量,然后再使用 onLoad: function (options) { var app = getApp(); wx.request({ data: { Sno: app.globalData.user.username, } )} }
4.调用后端接口首先,注意后端返回的数据,格式可能不够统一。所以不能惯性思维,比如我当时 res.data.code ==> 应该是 res.data.error_code 。
5.图片处理问题 当使用的图片资源过大,会导致包过大,而无法打包。 所以简单粗暴的,我选择把图片截图,不使用高清原图了,是的打包成功了。。。但后期还是要改善的,还是要保证用户体验感的!
后续还有填坑分享的,喜欢帮忙顶个文吧! |
请发表评论