• 微信小程序开发——天气预报项目的问题与坑点


    问题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。。。

  • 相关阅读:
    python开发线程:死锁和递归锁&信号量&定时器&线程queue&事件evevt
    python开发线程:线程&守护线程&全局解释器锁
    python开发进程:共享数据&进程池
    python开发进程:互斥锁(同步锁)&进程其他属性&进程间通信(queue)&生产者消费者模型
    学习笔记之Model selection and evaluation
    学习笔记之scikit-learn
    近期学习小结
    学习笔记之Problem Solving with Algorithms and Data Structures using Python
    Leetcode 3. Longest Substring Without Repeating Characters
    学习笔记之C / C++
  • 原文地址:https://www.cnblogs.com/Y-Knightqin/p/13616756.html
Copyright © 2020-2023  润新知