• 2018.02 小程序_开发总结


    一.关于setData

      1.直接this.data.xxx=123,是不会触发数据绑定的,必须使用this.setData({xxx:123})

      2.由于setData它会调动view的渲染层,尽量减少其次数,可提高渲染性能

    二.动画衔接

        使用wx.createAnimation创建动画(有点像TWEEN.js)+循环计时器能有效果地在动画结束之后做相关的js操作

      好过于css动画+计时器

    三.缓存问题

      在开发过程中缓存问题困扰了我不少时间

      首先要从小程序的生命周期说起

      首先是整个app的生命周期

      可以看到onLaunch函数只执行一次,有如下结论

      1.如果使用onLaunch中option里的参数作为每次App实际的启动参数,那么必然存在缓存问题

      2.即使点击右上角退出小程序,实际上没有真正退出,系统会将小程序保存在内存中,所以每次新打开小程序,实际上都不会再执行onlaunch函数了

      3.下次打开小程序,如果不做初始化操作,globalData实际上还是之前的状态,所以必须做初始化操作

      4.初始化内容不应该写在onlaunch中,而应写在页面的onload中,这样才能保证每次扫码都能初始化成功,清空上次使用的数据

      

      上面是整个app的生命周期,下面附一张page的生命周期

      5.值得一提的是,像计时器这种东西的清除最好是直接写在onUnload中,而不应该写在自定义的初始化函数中,防止用户切换应用的时候,计时器仍然在跑,最终出现我们不希望看到的结果

    四.表单

       抓取表单数据的方式,单一地来看,通常有两种:

      1.为逐个input添加bind-change事件来绑定定义在page.data里的数据

        优点:灵活操作性强

        缺点:较为繁琐

      2.使用form包裹所有控件,使用bindsubmit统一抓取用户输入

        优点:方便快捷

        缺点:不灵活

      推荐两者结合使用

    五.二维码传值问题

      1.转发传值:转发传值是在app.js的onLaunch中取到的

    onLoad: function (options) {
    //此处的options.query为转发传入的参数对象
    //此处的options.scene为场景值
    }

      2.扫码传值:扫码传值是在page中的onLoad中取到的

    onLoad: function (option) {
    //此处的option.scene 为小程序二维码B生成接口携带参数存放的地方
    }

      3.测试传值:使用开发者工具

     

     六.wxss中的background:url('path')的限制

      小程序规定这里的path不能是本地图片的路径

      两种解决办法:

        1.将本地图片转成base64,这样就可以直接在css里面使用了,还可以减少资源加载数量

          优点:减少加载数量,能够使用css属性

          缺点:wxss很乱

        2.用image标签将背景图放在视图底层

    七.小程序size 2M

  • 相关阅读:
    准备找工作了,求助于在成都的师兄、师姐们提供一些信息!大家都看看吧!
    大学课程名的中文翻译
    火箭今天赢了!!!
    如何成为一个受欢迎的人!
    理解DataSet的数据缓存机制
    餐桌上的不文雅行
    今天看到居然有100多个Gmail的邀请函,还没有Gmail的朋友留下邮箱地址!
    Update:代码行计算器(LinesCounter)
    找工作之“加班费”
    动画片里的Ajax
  • 原文地址:https://www.cnblogs.com/AlexNull/p/8458919.html
Copyright © 2020-2023  润新知