⼩程序开发——天⽓预报项⽬的问题与坑点
问题1:在新页⾯中切换城市时,如何把新城市的信息带回到⾸页中去?
解决⽅案:在切换城市的JS⽂件中添加如下字样
var pages = getCurrentPages();
var currPage = pages[pages.length - 1];  //当前页⾯
var prevPage = pages[pages.length - 2];
prevPage.setData({
latitude: res.latitude,
longitude : res.longitude
})
wx.navigateBack({
delta: 1,//回到上⼀个页⾯
})
⾸先,获取所有页⾯信息,系统默认的,最后⼀个页⾯信息就是当前切换城市的页⾯,那么我们要只需回到上⼀个页⾯,即天⽓预报⾸页,进⾏prevPage.setData操作,更新经纬度即可。
问题2:为什么在真机预览加载不出来页⾯,但是真机调试可以?
解决⽅案:由于本⼈⼀开始选择使⽤测试号进⾏开发,所以在调取API的时候,勾选了不校验合法域名的选项。但是预览的话,⼿机默认是校验的,所以需要在⼿机扫描预览的⼆维码,打开⼩程序后,点击右上⾓的三个点,然后点击打开调试即可。
问题3:scroll-view(可滚动视图区域)的初次使⽤?
天气预报代码大全解决⽅案:scroll-view竖向滚动容易实现,但是横向滚动⽐较⿇烦。
display: flex;
其中最重要的肯定是将其设为弹性布局,其次是配合循环语句使⽤。
问题4:为什么刚开始进⼊⼩程序时加载较慢,以⾄于可以看到⼀些数值还没赋值之前的样⼦?
未解决此问题,猜想是因为调取API部分的代码写的⼗分烂,导致时间复杂度过⼤。
问题5:拿到新地址的经纬度,然后呢?
解决⽅案:如果只是把新地址的经纬度传回到天⽓预报的⾸页上,天⽓是不会变的,这⾥我添加了onShow函数,虽然⼀开始打开⼩程序也是触发了onshow,但是由于经纬度都还没赋值,所以后续操作不能进⾏(可能是这⾥变慢了?);⽽赋值了新地址之后回到⾸页上触发了onshow函数,此时经纬度已经是新地址的值了,再次调取API就可以得到新地址的天⽓。
问题6:美观问题?
解决⽅案:初次开发,直接就了个好看的天⽓预报⼩程序,学习别⼈的布局和排版。
坑点1:跳转新页⾯时这样写是错误的
/pages/search/search.wxml
这样写才是正确的
/
pages/search/search
坑点2:使⽤图⽚时这样写是错误的
src="../../tianqi/weather-icon-S1/color-64/“+{{item.iconDay}}+”.png"
这样写才是正确的
src="../../tianqi/weather-icon-S1/color-64/{{item.iconDay}}.png"
坑点3:尽量使⽤iPhone6作为模拟器,因为 px 换算成 rpx⽐较好算天⽓预报项⽬END。。。