微信小程序开发者微信小程序小程序学习

小程序学习笔记-文件结构

2018-12-13  本文已影响202人  赵客缦胡缨v吴钩霜雪明

项目文件

文件结构

  1. 配置:

    • app.json

      1. 1. ”pages”: [] 设置页面路径
        2. “window”: { //设置默认窗口的表现(颜色都是十六进制的) 
           “navigationBarBackgroundColor”: #000, //导航栏背景颜色 
           “navigationBarTextStyle”: white/black, //导航栏标题颜色,仅支持black/white 
           “navigationBarTitleText”: string, //导航栏标题 
           “backgroundColor”: #fff, //窗口的背景颜色 
           “backgroundTextStyle”: dark, //下拉背景字体、loading 图的样式,仅支持 dark/light 
           “enablePullDownRefresh”: boolean //是否开启下拉刷新,详见页面相关事件处理函数。 
           }
        3. “tabBar”: { //设置底部的tab 
           “color”: #ddd, //tab上文字的默认颜色 
           “selectedColor”: #333, //选中tab时的颜色 
           “backgroundColor” #ccc, //tab背景颜色 
           “borderStyle”: black/white, //tabBar上边框的颜色,仅支持black/white 
           “list”: [ //tab 的列表 
           { 
           “pagePath”: ‘../..’, //pages中定义的页面路径 
           “text”: string, //tab上的按钮文字 
           “iconPath”: ‘../..’, //图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效 
           “selectedIconPath”: ‘../..’ //选中时的图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 
           } 
           ], 
           “position”: top/bottom // 
           }
        4. “networkTime”: { //网络超时时间 
           “request”: 10 000, //wx.request 的请求超时时间,默认60 000(下面都是) 
           “connectSocket”: 10 000, //wx.connectSocket的超时时间 
           “uploadFile”: 10 000, //wx.uploadFile的超时时间 
           “downloadFile”: 10 000, //wx.downloadFile的超时时间 
           }
        5. “debug”: boolean 是否开启debug模式
        
    • page.json :页面的.json只能设置 window 相关的配置项,以决定本页面的窗口表现,所以无需写 window 这个键

    • 属性如下:

      { 
      “navigationBarBackgroundColor”: #000, 
      “navigationBarTextStyle”: black/white, 
      “navigationBarTitleText”: string, 
      “backgroundColor”: #ddd, 
      “backgroundTextStyle”: dark/light, 
      “enablePullDownRefresh”: boolean, 
      “disableScroll”: boolean //设置为 true 则页面整体不能上下滚动;只在 page.json 中有效,无法在 app.json 中设置该项(默认 false ) 
      }
      

逻辑层

注册程序:App(options);

App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。

options = {
        onLaunch: function(){},     //生命周期函数--监听小程序初始化(只会触发一次)  
        onShow: function(){},       //生命周期函数--监听小程序显示(每次显示小程序都会触发)  
        onHide: function(){},       //生命周期函数--监听小程序隐藏(每次小程序从前台进入后台都会触发)  
        onError: function(msg){},      //当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息    
        userFun:function(){}        //用户自定义函数   
    }

问题:

  1. onLaunch 和 onShow 的参数
  • path: string 打开小程序的路径
  • query: {} 打开小程序的query
  • scene: number 打开小程序的场景值
  • shareTicket: string ???
  1. getApp()函数:获取小程序实例
  • console.log(getApp().globalData);
  • App()必须在app.js中注册,并且不能注册多个
  • 不要再App()内部使用getApp(),用this即可
  • 不要再onLaunch时调用getCurrentPage(),此时page还没有生成
  • 通过getApp()获取实例后,不要随意调用生命周期函数 ??????

注册页面

Page(options) 函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。

options = {
        data: {},   // 页面的初始数据  
        onLoad: function(){},
        onReady: function(){},      //生命周期函数--监听页面初次渲染完成    
        onShow: function(){},
        onHide: function(){},
        onUnload: function(){},     //生命周期函数--监听页面卸载  当redirectTo或navigateBack的时候调用。  
        onPullDownRefresh: function(){},        //页面相关事件处理函数--监听用户下拉动作  
        onReachButton: function(){},        //页面上拉触底事件的处理函数 
        onShareAppMessage: function(){},    //用户点击右上角转发 
        route: string,      //当前页面的路径   
        userFun:function(){}
    } 

更改data中的数据需要用到this.setData(key: value);方法,否则不会生效

页面路由

上一篇 下一篇

猜你喜欢

热点阅读