微信小程序學習筆記之頁面配置與路由方式

最近在學習回顧小程序的開發,將一些學習結果做個筆記。參考微信小程序官方文檔:developers.weixin.qq.com/miniprogram…

一、小程序配置

1、全局配置

小程序根目錄下的 app.json 文件用來對微信小程序進行全局配置,決定頁面文件的路徑、窗口表現、設置網絡超時時間、設置多 tab 等。

// 示例
{
  "pages": [
    "pages/index/index",
    "pages/logs/index"
  ],
  "window": {
    "navigationBarTitleText": "Demo"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首頁"
    }, {
      "pagePath": "pages/logs/index",
      "text": "日志"
    }]
  },
  "networkTimeout": {
    "request": 10000,
    "downloadFile": 10000
  },
  "debug": true
}

2、頁面配置

每一個小程序頁面也可以使用同名 .json 文件來對本頁面的窗口表現進行配置,頁面中配置項會覆蓋 app.json 的 window 中相同的配置項。

// 示例
{
  "navigationBarBackgroundColor": "#ffffff",
  "navigationBarTextStyle": "black",
  "navigationBarTitleText": "微信接口功能演示",
  "backgroundColor": "#eeeeee",
  "backgroundTextStyle": "light"
}

3、sitemap配置

註:sitemap 的索引提示是默認開啟的,如需要關閉 sitemap 的索引提示,可在小程序項目配置文件 project.config.json 的 setting 中配置字段 checkSiteMap 為 false。

小程序根目錄下的 sitemap.json 文件用來配置小程序及其頁面是否允許被微信索引。

關於是否被微信索引有兩種配置方式:

1、頁面收錄設置:可對整個小程序的索引進行關閉,小程序管理後臺-功能-頁面內容接入-頁面收錄開關;

2、sitemap 配置:可對特定頁面的索引進行關閉。

// 所有頁面都會被微信索引(默認)
{
    "rules":[{
        "action":"allow",
        "page":"*"
    }]
}
// path/to/page 頁面不被索引,其餘的會被索引
{
    "rules":[{
        "action":"disallow",
        "page":"path/to/page"
    }]
}

二、小程序的五個路由

1、wx.navigateTo()

保留當前頁面,跳轉到應用內的某個頁面。不能跳轉到tabbar頁面。小程序中頁面棧最多十層,超過的可以使用wx.redirectTo來跳轉。

wx.navigateTo({
    url:"list?id=2",
    events:{
        // 頁面間通信接口,用於監聽被打開頁面發送到當前頁面的數據。
        someEvent:function(data){
            console.log(data)
        }
    },
    success:function(res){
        // 通過eventChannel向被打開頁面傳送數據
        res.evnetChannel.emit('someEvent',{dta:'list'})
    }
})

2、wx.redirectTo()

關閉當前頁面,跳轉到應用內的某個頁面。但是不允許跳轉到tabbar頁面。

// 示例
wx.redirectTo({
    url:'list?id=2',
    success:function(){},
    fail:function(){}
})

3、wx.switchTab()

跳轉到tabBar頁面,並關閉其他所有非tabBar頁面。

wx.switchTab({
    url:'/index'
})

4、wx.navigateBack()

關閉當前頁面,返回上一頁面或多級頁面。可以通過getCurrentPages獲取當前的頁面棧,決定需要返回幾層。

// 此處是A頁面
wx.navigateTo({
  url: 'B?id=1'
})

// 此處是B頁面
wx.navigateTo({
  url: 'C?id=1'
})

// 在C頁面內 navigateBack,將返回A頁面
wx.navigateBack({
  delta: 2
})

5、wx.reLaunch()

關閉所有頁面,打開到應用內的某個頁面。

//示例
wx.reLaunch({
    url:'list?id=2'
})

註:另外和跳轉相關的webview中的頁面怎麼跳轉回小程序?

wx.miniPrograme.navigateTo({
    url:'pages/login/login'+'params'
})
// 跳轉到小程序的導航頁面
wx.miniPrograme.switchTab({
    url:"/pages/index/index"
})

總結

到此這篇關於微信小程序學習筆記之頁面配置與路由方式的文章就介紹到這瞭,更多相關小程序頁面配置與路由方式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: