uniapp 页面跳转传值和接收

前端面试题库地址:https://www.yuque.com/sxd_panda/sdluga

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 : 回显服务器收到的请求,主要用于测试或诊断

posted @ 2020-05-26 15:23  奔跑的前端猿  阅读(28538)  评论(0编辑  收藏  举报