微信小遊戲跳轉小程式介面 wx.navigateToMiniProgram
阿新 • • 發佈:2018-11-03
小程式的navigateToMiniProgram要棄用了,但小遊戲的navigateToMiniProgram應該是沒事,因為用別的H5引擎的話,用不了它的 <navigator> 元件,所以小遊戲navigateToMiniProgram介面說明中沒提到棄用的問題。
path | string | 否 | 開啟的頁面路徑,如果為空則開啟首頁 |
如果不是要開啟首頁,而是要直接跳轉到小程式的某個頁面,那麼就要填,詳情見①。
extraData | object | 否 | 需要傳遞給目標小程式的資料,目標小程式可在 App.onLaunch ,App.onShow 中獲取到這份資料。 |
在App.onShow中要拿到這個extraData的話,要onShow的引數.referrerInfo.extraData,比如:
wx.navigateToMiniProgram({
appId:'******',
extraData:{
name:'張三',
age:18,
}
})
onShow(res){ console.log(res.referrerInfo.extraData.name) //輸出張三 console.log(res.referrerInfo.extraData.age) //輸出18 }
referrerInfo.extraData | Object | 來源小程式傳過來的資料,scene=1037或1038時支援 |
注意場景為1037或1038才支援。
1037 | 小程式開啟小程式 | 來源小程式 appId |
1038 | 從另一個小程式返回 | 來源小程式 appId |
不支援的話可以用另一種方式,就是在路徑後跟上要傳遞的資料。
wx.navigateToMiniProgram({ appId:'******', path:'**/***/****?name=張三&age=18', })
然後在onShow中用query去獲取。
onShow(res){
console.log(res.query.name); //輸出張三
console.log(res.query.age); //輸出18
}
①
檔案結構
小程式包含一個描述整體程式的 app
和多個描述各自頁面的 page
。
一個小程式主體部分由三個檔案組成,必須放在專案的根目錄,如下:
檔案 | 必需 | 作用 |
---|---|---|
app.js | 是 | 小程式邏輯 |
app.json | 是 | 小程式公共配置 |
app.wxss | 否 | 小程式公共樣式表 |
一個小程式頁面由四個檔案組成,分別是:
檔案型別 | 必需 | 作用 |
---|---|---|
js | 是 | 頁面邏輯 |
wxml | 是 | 頁面結構 |
json | 否 | 頁面配置 |
wxss | 否 | 頁面樣式表 |
注意:為了方便開發者減少配置項,描述頁面的四個檔案必須具有相同的路徑與檔名。
全域性配置
app.json
檔案用來對微信小程式進行全域性配置,決定頁面檔案的路徑、視窗表現、設定網路超時時間、設定多 tab 等。
app.json 配置項列表page屬性
屬性 | 型別 | 必填 | 描述 | 支援版本 |
---|---|---|---|---|
pages | String Array | 是 | 頁面路徑列表 |
pages
用於指定小程式由哪些頁面組成,每一項都對應一個頁面的 路徑+檔名 資訊。檔名不需要寫檔案字尾,框架會自動去尋找對於位置的 .json
, .js
, .wxml
, .wxss
四個檔案進行處理。
陣列的第一項代表小程式的初始頁面(首頁)。小程式中新增/減少頁面,都需要對 pages 陣列進行修改。
如開發目錄為:
├── app.js
├── app.json
├── app.wxss
├── pages
│ │── index
│ │ ├── index.wxml
│ │ ├── index.js
│ │ ├── index.json
│ │ └── index.wxss
│ └── logs
│ ├── logs.wxml
│ └── logs.js
└── utils
則需要在 app.json 中寫
{
"pages":[
"pages/index/index",
"pages/logs/logs"
]
}