<navigator url='跳转的地址'>……</navigator>
下面我们来重点介绍下跳转传值的方法
<view @tap="toOpportnity(item.id)">转商机</view>;
写一个onLoad函数
对象传参的接收方法
单个参数的接收,这里使用id来进行介绍
首先要把传递过来的id进行赋值
请求接口,接口的url地址后面要加上传递过来的id【 /${this.id}/ 】
完整步骤如下:
对象传参报错解决方案(详细请看本篇文章: https://www.cnblogs.com/sxdpanda/p/13304425.html )
POST : 大多用于提交表单或上传文件,数据包含在请求体中【把数据提交给服务器】。
HEAD : 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。
PUT : 从客户端向服务器传送的数据取代指定文档中的内容【修改服务器上的数据】。
DELETE : 请求服务器删除指定的页面。
CONNECT : 把服务器当作跳板,让服务器代替客户端访问其他页面。
OPTIONS : 允许客户端查看服务器的性能。
TRACE : 回显服务器收到的请求,主要用于测试或诊断。
在Activity或者组件之前传递信息时,一般采用intent绑定bundle的方式传值,但在使用过程中需要注意的是不要用bundle传递大容量数据:在做项目的过程中,需要将听写界面的听写结果信息传递到听写记录界面供显示用,但是由于传递的数据量过大导致程序ANR,甚至直接报异常(传递的信息里面有bitmap转换成的byte数组、每一个词组的拼音、词语、语音信息),经过分析发现是由于bundle不能传递大容量的数据信息,在stackoverflow里面查阅发现有同行遇到类似的问题:
(1)“The size limit of Intent is still pretty low in Jelly Bean, which is somewhat lower than 1MB (around 90K), so you should always be cautious about your data length, even if your application targets only latest Android versions.”
(2)“As per my experience (sometime ago), you are able to put up to 1MB of data in a Bundleencapsulated inside Intent. I think, this restriction was valid up till Froyo or GingerBread.”
所以在通过bundle传递数据时只能传递较小的数据信息,对于在不同组件之间需要传递大容量数据的情况时,有几种替代方式可以解决不能用bundle传递这些数据的问题:
方法一:将需要传递的数据写在临时文件或者数据库中,再跳转到另外一个组件的时候再去读取这些数据信息,这种处理方式会由于读写文件较为耗时导致程序运行效率较低;
方法二:将需要传递的数据信息封装在一个静态的类中(注意当前组件和要跳转到的组件必须属于同一个进程,因为进程之间才能够共享数据),在当前组件中为类设置内容,然后再跳转到的组件中去取,这种处理方式效率很高,但是会破坏程序的独立性。
具体采用哪种替代方式取决于具体的情况,本人建议采取第二种处理方式,因为这样会大大提高程序的运行效率,至于程序的独立性,看你怎么去封装这个类了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)