微信小程序页面之间传参

微信小程序页面之间传参,第1张

1页面url传参

2data-属性传参

3缓存传参

4全局变量传参

1页面url传参

navigator标签里面设置url后面用?加上key=value键值对模式传参,可以绑定动态数据

2data-属性传参

通过data-属性设置产生,在通过url传递参数,其本质还是通过url传参

3,缓存传参

小程序缓存分为异步和同步,一般使用同步;方法类似于h5的本地存储;

4全局变量

如图所示是接下来需要完成的效果:

页面结构:2个, index (首页)以及 details (详情页),首页是产品列表,点击产品后进入对应的详情页。

首页的wxml结构:

首页的js数据:

对于详情页请求数据,核心在于点击对应产品然后请求对应的产品数据,因此这里的 navigator 组件跳转的url至关重要,这里的 /pages/details/detailsgoodsId={{index} 是模拟了后台提供的数据接口,后面的 goodsId 作为产品的辨识符,当点击之后可以获取到当前点击的是哪个产品,以供详情页进行请求数据。

详情页wxml结构:

详情页js数据:

详情页请求数据的重点在于生命周期函数, onLoad 函数,它可以在页面加载的时候进行触发,并可以通过参数获取到跳转链接上面的辨识符,也就是通过 onLoad 函数中的 options ,获取到了刚才在 indexwxml 页面url中的辨识符: goodId ;

通过它可以获取到对应的产品数据,再将数据进行修改更新到详情页结构 detailswxml 即可。

本案例中跨页面传递数据主要是利用了URL传值,在另外一个页面中接收,并将数据渲染到页面中,这个过程就需要用到生命周期函数:onLoad函数。

1基础组件:

什么是组件:

<ul>

<li>组件是视图层的基本组成单元。</li>

<li>组件自带一些功能与微信风格的样式。</li>

<li>一个组件通常包括开始标签

和结束标签

,属性

用来修饰这个组件,内容

在两个标签之内。</li>

</ul>

2属性类型

<ul>

<li>Boolean 布尔值 组件写上该属性,不管该属性等于什么,其值都为true

,只有组件上没有写该属性时,属性值才为false

。如果属性值为变量,变量的值会被转换为Boolean类型</li>

<li>Number 数字 1

, 25</li>

<li>String 字符串 "string"</li>

<li>Array 数组 [ 1, "string" ] </li>

<li>Object 对象 { key: value } </li>

<li>EventHandler 事件处理函数名 "handlerName"

是 Page中定义的事件处理函数名</li>

<li>Any 任意属性 </li>

</ul>

3共同属性类型

id , class , style , hidden , data- , bind / catch

4特殊属性

几乎所有组件都有各自定义的属性,可以对该组件的功能或样式进行修饰

5组件列表

基础组件分为以下八大类:

视图容器(View Container):

view 视图容器 , scroll-view 可滚动视图容器, swiper 滑块视图容器

基础内容(Basic Content):

icon 图标, text 文字, progress 进度条

表单(Form):

button 按钮, form 表单, input 输入框, checkbox 多想选择器, radio 单选器, picker 列表选择器, slider 滚动选择器, switch 开关选择器, label 标签

*** 作反馈(Interaction)

action-sheet 上拉菜单

modal 模态d窗

toast 消息提示框

loading 加载提示符

导航Navigation

navigator 应用链接

多媒体(Media)

audio 音频, image , video 视频

地图

map 地图

画布Canvas

canvas 画布

flex: vt折曲,使收缩; vi玩去,收缩

在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。即wx:for指令用于循环数组数据,生成组件。

循环出来的每一项通过item返回,每一项对应的索引,通过index返回。

wx:key="",设置每一项唯一的标识。循环列表时,添加wx:key的好处是,将来列表发生变化时重新渲染列表的损耗为更低。

使用 wx:for-item 可以指定数组当前元素的变量名,使用 wx:for-index 可以指定数组当前下标的变量名:

条件渲染可以使用 wx:if 或 hidden 。

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好;如果在运行时条件不大可能改变,则 wx:if 较好。

wx:if用于条件渲染:条件为真生成里面的内容,条件为假不会生成里面的内容。(每次重新生成内容)

也可以用 wx:elif 和 wx:else 来添加一个 else 块。

hidden用于条件渲染:条件为真隐藏里面的内容,条件为假显示里面的内容。(每次切换样式)

在appjson文件中添加tabBar节点。tabBar是小程序客户端底部或顶部tab栏的实现。

color: tab上的文字默认颜色,仅支持十六进制颜色。

selectedColor: tab上的文字选中时的颜色,仅支持十六进制颜色。

backgroundColor: tab的背景色,仅支持十六进制颜色。

borderStyle: tabbar上边框的颜色, 仅支持 black / white。

position: tabBar的位置,默认值是: bottom,仅支持 bottom / top。当 position 为 top 时,不显示 icon。

custom: 自定义tabBar。

list是一个数组,它定义了tab的列表。只能配置最少2个、最多5个tab。

pagePath: 页面路径,必须在 pages 中先定义。

text: tab 上按钮文字。

iconPath: 路径,icon 大小限制为 40kb,建议尺寸为 81px 81px,不支持网络。

selectedIconPath: 选中时的路径,icon 大小限制为 40kb,建议尺寸为 81px 81px,不支持网络。

跳转到普通页,可以直接通过返回按钮返回。

navigateTo()方法,用于跳转普通页面。可以直接通过返回按钮返回。

页面js文件中添加方法:

redirectTo()方法,关闭当前页面再跳转到指定页,不能通过返回按钮返回页面。该方法不能用于跳转tabBar页面。

页面js文件中添加方法:

跳转到tabBar页面,通过tabBar按钮返回。

如果要使用navigator组件跳转tabBar页面,需要设置open-type="switchTab"。

switchTab()方法,用于跳转tabBar页面。

页面js文件中添加方法:

注册开发者账号: >

以上就是关于微信小程序页面之间传参全部的内容,包括:微信小程序页面之间传参、微信小程序:详情页请求不同数据的实现原理、微信小程序_组件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9265705.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存