页面跳转代码:本次传参两个以上
this.router.navigate(['task-award'], {
queryParams: {
interface: '你是谁',
// 本次任务获得的E币数
e: this.eGold
}
});
问题如下:说明没有定义参数 ,原因就是这个我们临时定义,即使我们定义了 public的参数,在这里依旧是不显示的。
曲线救国:利用sessionStorage存储让页面获取值
// 存放数据
turnToTask() {
const egold = this.eGold.toString();
const TOinterface = '检测单元';
sessionStorage.setItem('interface', TOinterface);
sessionStorage.setItem('eGold', egold);
this.router.navigate(['task-award']);
}
// 获取数据
// 将要进入页面触发
ionViewWillEnter() {
this.interface = sessionStorage.getItem('interface');
this.eGold = sessionStorage.getItem('eGold');
this.JumpInterface(); // 获取下面的方法
}
解决办法说明:
建议传单个值时可以检测到的,如果传参两个值以上就会出现有时候显示不到的问题 ,所有传两个值 以上请不要多次传,比如说很多个页面同时传到多个值到一个页面就会出现上个值还在,但是我想要的这个值没有了,所以我们将需要传递的值放到了sessionstroage里面。
知识点:sessionStorage:仅在当前会话下有效,关闭页面或浏览器后被清除。