• 【好记性不如烂笔头】之小程序要点记录


    1. 每添加一个页面需要在app.json中注册,第一个页面为首页。

    2. 例如注册一个welcome页面

    // 注意: 路径最前面不需要加 ‘/’ , 不需要加文件名
    {
    "pages": [ "pages/welcome/welcome" ] }

    3. 每增加新页面后,js文件不能为空,需要调用 Page ({}) 初始化, 同样,页面的json文件也不能为空,应写为 {}

    // 页面对应的js文件
    
    Page({
    
    })
    // 页面对应的json文件, 不能为空,最简单也要写成下面的格式
    
    {
    
    }

    4. 通过在啊app.json里面注册页面,IDE会自动为开发者创建 .wxml, .js, .wxss, .json 的四个对应的文件

    5. 每个页面都有一个名字为page的根结点

    6. 小程序中支持一下几种css选择器

    .class(.box)   #id(#box)  element(view)      element,Element (view, checkbox)   ::after(view::after)    ::before (view::before)

    7. 小程序中新定义了 rpx的适配单位:在宽度为750px的设计稿中, 1物理像素 = 1rpx = 0.5px 

    8. Boolean的陷阱:在swiper组件中,用vertical属性来设置是否垂直排列,若要设置为水平排列,只有一下三种方法:

    // 1. 不加如vertical属性
    // 2. vertical = ‘’
    // 3. vertical = ‘{{false}}’         

    9. 小程序为image组件增加了 mode 属性用以控制图片的裁剪,常用的是widthFix(宽度充满,高度自适应)

    10. page页面的声明周期

    Page({
        data: {},
        onLoad: function (options) {},      //  页面初始化  options 为页面跳转所带来的参数, 一个页面只会调用一次
        onShow: function () {},             // 页面显示,每次打开页面都会调用
        onReady: function () {},            // 页面初次渲染完成,一个页面只会调用一次,代表页面已经准备好,可进行视觉交互
        onHide: function () {},             // 页面隐藏
        onUnload: function () {}            // 页面关闭
    })
    
    
    // 注意: 
    // 1. 一个页面的加载顺序(onLoad > onShow > onReady)
    // 2. onLoad和onReady在整个页面的声明周期内只会执行一次,除非这个页面执行了onUnload卸载掉了,卸载意味着这个页面的一个声明周期结束了
    // 3. onReady 仅仅用来监听页面的第一次渲染

    11.  小程序中提供的其他特定事件的监听程序:

    // onPullDownRefresh : 监听用户下拉动作的事件处理函数
    // onReachBottom: 页面上拉触底事件的处理函数
    // onShareAppMessage : 用户点击右上角分享

    更新于2018.8.11

    12. 小程序中的数据为单项绑定,可以通过setData()重新渲染页面

    13. window.redirectTo() 、window.navigateTo() 与window.switchTab()的区别

    window.redirectTo : 跳转后关闭当前页面

    window.navigateTo : 跳转后保留当前页面,可以做返回操作

    window.switchTab: 只能用于跳转带有tabbar的页面

    14. navigateTo带来的层级问题: 小程序中使用navigateTo后会增加页面的一个层级,后退返回上一个层级。同时,小程序中最多只允许五个层级的页面。

    15. 小程序中catch事件会阻止冒泡,而bind事件则不会阻止冒泡。

    16. 使用模板时,import与include的区别:

    import:使用import的引入的模板,在根节点需要使用template将所有标签包住,可以传递数据

    include: 纯静态的html导入,相当于占位符,不能传递数据。

    17. 在app.js中设置的小程序的声明周期

    // onLaunch  监听小程序的初始化,当小程序初始化完成时,会触发onLaunch(全局只触发一次)
    // onShow   监听小程序显示,当小程序启动,或从后台进入前台显示,会触发onShow
    // onHide   监听小程序隐藏,当小程序从前台进入后台时触发
    // onError  错误监听信息,当小程序发生错误脚本,或者API调用失败时触发,并带上错误

     更新于2018.8.26

    18. 小程序中的缓存的实效默认为永久。最大不允许超过10M。

    19. template和block标签在编译后都会消失,所以不能在这两种标签上做绑定事件等操作。

    20.小程序中修改当前页面的data数据并同步到视图时时,不能直接修改,需要使用setData()方法。

    更新于2018.9.2

    21. wx.setNavigationBarTitle() 可以覆盖app.json中对标题的设置,建议在页面的onReady钩子中使用。

    22. wx.setData(obj), 使用时强烈建议先将obj初始化之后,再传入函数进行调用。涉及到字符串拼接时,只能使用obj[key]的方法进行赋值。

  • 相关阅读:
    在JS和.NET中使用JSON (以及使用Linq to JSON定制JSON数据)
    转载JSON格式化工具
    bzoj3771 Triple
    hdu 2082 找单词
    bzoj 3143: [Hnoi2013]游走
    Wannafly挑战赛17 B
    基尔霍夫矩阵
    矩阵&行列式
    luogu P2421 [NOI2002]荒岛野人
    bzoj 2818: Gcd
  • 原文地址:https://www.cnblogs.com/pomelott/p/9398919.html
Copyright © 2020-2023  润新知