小程序自定义组件

小程序中的js对象实例,按作用域大小划分,大致可以归为三类:App, Page, Component。

Component 也即本文要重点要讲的自定义组件,或称模板。

一、App 

App() 必须在 app.js 中调用且只能调用一次,用于注册成为一个小程序应用。

1、app.js

App({
  // 小程序初始化完成时触发,全局只触发一次。
  onLaunch (options) {
    // 通过options.scene获取场景值可以得到小程序进入的渠道来源
    // 参数也可以使用 wx.getLaunchOptionsSync 获取。
  },
  
  // 小程序启动,或从后台进入前台显示时触发。
  onShow (options) {
    // 小程序启动,或从后台进入前台显示时触发。
  },
  
  // 小程序从前台进入后台时触发。
  onHide () {
    // 也可以使用 wx.onAppHide 绑定监听。
  },
  
  onError (msg) {
    console.log(msg)
  },
  
  // 小程序要打开的页面不存在时触发。也可以使用 wx.onPageNotFound 绑定监听。
  onPageNotFound(res) {
    // 如果是 tabbar 页面,需使用 wx.switchTab
    // 若需保留历史页面路径,需用wx.navigateTo,而非wx.redirectTo (会销毁当前页面) 
    // 若存在循环操作,则需要计算页面层级(wx.navigateTo最多跳转10层页面,超过会报页面栈溢出)
    let pageNum = getCurrentPages().length
    if(pages >= 10){
        // 超过页面路由层深,返回重载应用首页
        wx.reLaunch({
          url: '/pages/index/index'
        })
    }else{
        wx.navigateTo({
          url: '/pages/...'
        })
    }
    
    // 控制后退页面数 wx.navigateBack();  wx.navigateBack({delta: n}); // 后退n页
    wx.navigateBack({
        // 回退所有循环操作页面,只保留前3页
        delta: pageNum - 3, 
        // iOS会先重定向后回退页面,需要控制先回退完成后再重定向到指定页面
        complete: function(){ 
          wx.redirectTo({ 
            url: '/pages/...'
          })
        }
    })
  },
  
  // 全局数据,可以保存用户登录信息等
  globalData: {
    
  }
})

2、app.json

app.json 全局配置(所有页面需要在此文件中注册配置pages。该文件不能写注释。)

{
    "pages": [
        "pages/index/index"
    ],

    "window": {
        "backgroundTextStyle": "light",
        "navigationBarBackgroundColor": "#fff",
        "navigationBarTitleText": "我的小程序",
        "navigationBarTextStyle": "black"
    },

    "permission": {
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值