1、首先介紹最原始的跳轉方法,類似於html中的a標簽,不過在uniapp中需要將a標簽換成
<navigator url='跳轉的地址'> …… </navigator>
2、下面我們來重點介紹下跳轉傳值的方法
- 給點擊事件傳入id
<view @tap="toOpportnity(item.id)">測試信息……</view >
- Methods中寫方法
toOpportnity(id) {
uni.navigateTo({ //點擊跳轉的方法
url: 'opportunity-form?id=' + id //需要跳轉的頁面路徑,使用問號進行id的傳值,然后再拼接一個要傳入的id
//對象傳參方式 url:'../../pages/disabled/subsidie?listObj=' + encodeURIComponent(JSON.stringify(obj))
})
}
- 詳情頁接收參數
/**
* 寫一個onLoad函數
* @params {options} 上個頁面傳過來的參數信息,這個名字可以自定義
*/
onLoad(options) {
// console.log(options); 查看傳入的id值
}
對象傳參的接收方法
//this.leadobj(上個頁面傳過來的對象名稱,即?后面的那個名稱) = JSON.parse(decodeURIComponent(options.leadobj));
- 單個參數的接收,這里使用id來進行介紹首先要把傳遞過來的id進行賦值請求接口,接口的url地址后面要加上傳遞過來的id【/${this.id}/】
- 完整步驟如下:
onLoad(options){
this.id = options.id;
console.log('傳過來的id值為:' + options.id);
let that = this
uni.request({
url:`${this.$serverUrl}/opportunity/${this.id}/`,
header:{
'Authorization': this.uerInfo.token
},
success(res){
console.log(res);
// 賦值操作
that.opportunity = res.data;
}
})
}
對象傳參報錯解決方案詳細請看本篇文章
if (jsonData != null) {
JSON.parse(jsonData)
}
附:常見的請求方式
-
GET : 請求頁面, 並返回頁面內容【問服務器要數據】
-
POST : 大多用於提交表單或上傳文件,數據包含在請求體中【把數據提交給服務器】
-
HEAD : 類似於GET請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
-
PUT : 從客戶端向服務器傳送的數據取代指定文檔中的內容【修改服務器上的數據】
-
DELETE : 請求服務器刪除指定的頁面
-
CONNECT : 把服務器當作跳板,讓服務器代替客戶端訪問其他頁面
-
OPTIONS : 允許客戶端查看服務器的性能
-
TRACE : 回顯服務器收到的請求,主要用於測試或診斷
