之前認為uniapp是基于vuejs的,跳轉得用vue router。但是目前只開放小程序,就想著用小程序的<navigator>標簽和wx.navigateTo(uniapp編譯會報錯,但是小程序能運行),才發現uniapp有集成這些方法。而且在組件里看到了popup組件,就自己寫的toast和showModal,才發現在交互反饋 里有彈框(因為之前搜索頁面都是搜彈框,所以一直沒找到)
uni.navigateTo(OBJECT)
保留當前頁面,跳轉到應用內的某個頁面,使用uni.navigateBack可以返回到原頁面。
//在起始頁面跳轉到test.vue頁面并傳遞參數
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
通過option獲取url的參數
// 在test.vue頁面接受參數
export default {
onLoad: function (option) { //option為object類型,會序列化上個頁面傳遞的參數
console.log(option.id); //打印出上個頁面傳遞的參數。
console.log(option.name); //打印出上個頁面傳遞的參數。
}
}
標簽
<navigator :url="'/pages/test/test?item='+ id"></navigator>
uni.redirectTo(OBJECT)
關閉當前頁面,跳轉到應用內的某個頁面。
uni.redirectTo({
url: 'test?id=1'
});
uni.reLaunch(OBJECT)
關閉所有頁面,打開到應用內的某個頁面。
uni.reLaunch({
url: 'test?id=1'
});
通過option獲取url的參數
export default {
onLoad: function (option) {
console.log(option.id);
}
}
uni.switchTab(OBJECT)
跳轉到 tabBar 頁面,并關閉其他所有非 tabBar 頁面。
uni.switchTab({
url: '/pages/index/index'
});
uni.showToast(OBJECT)
顯示消息提示框。
uni.showToast({
title: '標題',
duration: 2000
});
uni.hideToast()
隱藏消息提示框。
uni.hideToast();
uni.showLoading(OBJECT)
顯示 loading 提示框, 需主動調用 uni.hideLoading 才能關閉提示框。
uni.showLoading({
title: '加載中'
});
uni.showModal(OBJECT)
顯示模態彈窗,類似于標準 html 的消息框:alert、confirm。
uni.showModal({
title: '提示',
content: '這是一個模態彈窗',
success: function (res) {
if (res.confirm) {
console.log('用戶點擊確定');
} else if (res.cancel) {
console.log('用戶點擊取消');
}
}
});