小程序页面传递数据 、传递数组对象 小程序传值

小程序页面传递数据 、传递数组对象 小程序传值,第1张

(1)使用本地缓存

(2)通过页面路由

在使用url进行参数传递时候,传递数据有字节限制,如果要传递对象,需要先把对象通过JSONstringify转换成字符串,接收或再通过JSONparse转换成对象

demo

<template is="模板名" data="数据对象" />

A页面跳转到B页面

页面传值

微信小程序 页面传值详解

一 跨页面传值

1 用 navigator标签传值或 wxnavigator, 比如

这里将good_id=16 参数传入detail页面, 然后detail页面的 onload方法内接受

如果需要传多个参数, 用 & 链接即可

如果要传 数组, 字典等复杂类型, 要先用 JSONstringify() 转成字符串传递

注 : 如果转化的字符串中 有""这个符号, 则只会传递""以前的字符串, 这个问题我猜想可能是小程序内部的路由处理 对这个""敏感吧

好, 这是第一种 依靠跳转的url带参数传值

2 用getCurrentPages(); 获取栈中全部页面的, 然后把数据写入相应页面

这里可以传字符串, 也能传数组等,

这样就把 address 传递并接受了

注 : 这个方法适合 往后面传值(即已经存在的页面), 这样才能在栈中找到并主动写入数据, 且 一定要在 onshow() 方法中接受, 因为再次返回只执行onshow()方法

3 写入本地, 跨页面在取出来 wxsetStorage/wxgetStorage等, 小程序中对写入本地数据 封装了很多方法, 各有侧重, 这里就不多说了

4 把 数据声明为全局变量

var detail = getApp()detail; 可在任何页面获取

二 页内传值

1 设置id的方法标识跳转后传递后的参数

在bindtap定义的点击方法 swiperTap : function(e) ; 中获取, var id = ecurrentTargetid;

2 设置 data-xxx 的方法来标识要传递的值

注 : 这里 data-index="{{index}}" 里的 {{index}} 是有效的, 在用wx-for 渲染视图层时, index 代表点击的下标 在bindtap定义的点击方法 swiperTap : function(e) ; 中获取, 即 var index = ecurrentTargetdatasetindex; 其他的参数取出也如此, var type = ecurrentTargetdatasettype;

3 form表单和input输入框

方法1:A页面跳转链接添加参数,B页面onLoad 接收

方法2:设置全局变量 globalData,用的少,一般适用于全局共享的一份信息,如用户open_id等

做一个查询的功能 可以根据id查到text 或者根据text查到id

附上数组如下

resultset: [{id:1,text:"aaa"},{id:2,text:"bbb"}, {id: 3,text: 'ccc'}, {id: 4,text: 'f'}]

之前尝试了一些方法 就像在传统语言那样遍历数组然后寻找相等的值 但是发现好像并不是特别好使

var resultSet =thisdataresultset

const length = resultSetlength var val = thisdatainputValue if(val){

consolelog(val) for(let i =0;i<=length;i++){ //consolelog(resultSet[i])

if(val == resultSet[i]id){

consolelo("找到了") var result = thisdataresultSet[i]id

consolelog("结果是"+result)

} else{

consolelog("没找到结果")

}

}

} else{

consolelog("没输入啊")

}

}

通过wxrequest获取到服务器数据之后将数据(一个json对象)绑定至post数组,然后页面中获取数据的时候可以直接通过(数组名属性)直接取值。数组中有多个json对象的话,则需要wx:for遍历取值。

单个json对象数据绑定

页面取值:

是一个数组,对应后台返回的是List的对象json

后台有处理,将菜品归类后返回

数据库3张表

分类表,两个字段:id 和 name

菜品表,两个字段:id 和 name和num

关联表,两个字段:分类表id 和 菜品表id

返回,后台查询3张表,组合对象list,返回json 可用rest api

方法/步骤

在小程序中为了实现一个中添加多个内容重复的标签,那就需要使用循环。如果按小程序的简易教程,循环加在中,而放在里面。所有数据都会遍历到每一个中。这不是我们想要的。

在微信小程序中有个属性,是指当点击列表元素时当按下鼠标左键会显示样式,但是鼠标离开样式就会复原

核心点:模板文件中使用三元运算符,通过dateCurrent指定当前item的id。

在组件上使用控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item 事例。

接着用在标签上,以渲染一个包含多节点的结构块。

接着只需要把放入文件中就可以,把循环数据绑定到上就可以了。

以上就是关于小程序页面传递数据 、传递数组对象 小程序传值全部的内容,包括:小程序页面传递数据 、传递数组对象 小程序传值、微信小程序如何查找数组中的元素、小程序一维数组如何实现多选等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9793065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存