如果设置整个页面的背景色
刚开始是这么写的 ⤵️
<style lang="scss" scoped>
.contanier {
backgorund:#ccccc
height:100vh
}
</style>
这样问题:当页面for循环一些数据超过手机可视区域,背景色就不生效了
正确写法,今天菜摸索出来的
<style>
page{
backgorund:#ccccc
}
</style>
<style lang="scss" scoped>
.contanier {
//写主容器的样式
}
</style>
关于uniapp跳转 带参
- uni.navigateTo 保存当前页面到了历史栈中
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
- uni.redirectTo 关闭当前页 跳转到任意路径 不保存当前页面到历史栈中
uni.redirectTo({
url: 'test?id=1'
});
- uni.reLaunch 关闭所有页面 跳转任意路径 相当于清空历史栈
uni.reLaunch({
url: 'test?id=1'
});
- uni.switchTab 只能调转tabbar页面
- uni.navigateBack 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈 返回几级,就清除几级的历史栈
//比如A->B页面 B->C页面 我在C页面
uni.navigateBack({
delta: 2
});
//最后将返回A页面 且清除2级的历史栈
注意:使用这个跳转的时候,要怎么传递参数呢。其他的跳转都有url可以直接携带
比如我现在在B页面,我要调回A页面,且要清除B页面的历史栈,且B页面要给A页面带参数过来,那么怎么写呢
//在B页面
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; //获取上一个页面历史栈
//直接调用上一个页面的setData()方法,把数据存到上一个页面中去
// 上一个页面最后设置userdata
prevPage.setData({
'solution_list':solution_list
})
uni.navigateBack({
delta:1
});
//跳转A页面 在A页面的onshow钩子里 既可以获取上个页面传递过来的数据了
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
let solution_list = currPage.data.solution_list;
console.log('上个页面传递solution_list',solution_list)//为传过来的值
成功跳转不同页面
- A页面直接进入B页面,B页面点击按钮成功跳回A页面
- A页面进入C页面,C页面在进入B页面,B页面点击按钮返回C页面
这种要怎么做呢?
在onload钩子函数里
let pages = getCurrentPages();
this.prevPage = pages[pages.length - 2].route;//获取到上一个页面的路径 pages/home/A
我在点击B页面按钮的时候,判断上一个页面的路径是什么,如果上一个页面是A,那么我返回A,如果上有一个页面是C,那么我返回C
if(this.prevPage == "pages/home/home"){
uni.navigateTo({
url:"./home"
})
}else{
uni.navigateTo({
url:"./add_business"
})
}