微信小程序:7.页面渲染

wx:if

在小程序中,使用wx:if="{{ condition }}"来判断是否需要渲染该代码块

复制代码
<view wx:if="{{condation}}">你好帅</view>

也可以用wx:if和wx:else来添加else判断:

复制代码
<view wx:if="{{type === 1}}">男</view>
<view wx:elif="{{type === 2}}">女</view>
<view wx:else="{{type === 2}}">保密</view>

结合使用wx:if

如果要一次性控制多个组件的展示和隐藏,可以使用一个**标签**将多个组件包装起来,并在标签上使用wx:if控制属性,示例如下:

复制代码
<block wx:if="{{false}}">
  <view wx:if="{{type === 1}}">男</view>
  <view wx:elif="{{type === 2}}">女</view>
  <view wx:else="{{type === 2}}">保密</view>
</block>

注意:block并不是一个组件,他只是i一个包裹性质的容器,不会在页面有任何渲染。

hidden

在小程序中,直接使用hidden="{{condition}}" 也可以控制元素的显示和隐藏:

复制代码
<view hidden="{{flag}}">条件为true 隐藏,条件为false显示</view>

等于true隐藏元素,值为false隐藏元素

wx:if 与 hidden的对比

  1. 运行方式不同wx:if是进行dom的移除进行显示隐藏操作
  2. hidden是设置display:none,控制元素的显示和隐藏

使用建议:在频繁切换的时候,使用hidden
控制条件复杂时,建议使用wx:if搭配wx:elif、wx:else进行展示和隐藏

列表的渲染

wx:for

通过wx:for可以根据指定的数组,循环渲染重复的组件结构,语法示例如下:

复制代码
<view wx:for="{{lists}}">
{{index}}.{{item}}
</view>

手动指定当和当前项变量名

使用:wx:for-index可以指定当前循环项的索引的变量名

使用:wx:for-item可以指定当前项的变量名

复制代码
<view wx:for="{{lists}}" wx:for-index="idx" wx:for-item="itemName">
  索引是:{{idx}} 当前项是:{{itemName}}
</view>

wx:key 的使用

类似于Vue列表渲染中的Key,小程序在实现列表渲染的时候,也建议为渲染出来的列表项指定唯一的key值,从而提高渲染的效率,示例代码如下:

复制代码
<view wx:for="{{lists}}" wx:key="index">
{{item}} 
</view>
相关推荐
爱勇宝7 小时前
小红花成长更新了:孩子想要什么,也应该有机会自己说出来
微信小程序·产品·小程序·云开发
andrsted15 小时前
企业培训时间难统一?练题簿让在线免费刷题与培训考核更好安排
学习·微信小程序·小程序·学习方法·刷题
拖孩16 小时前
一个人 + AI 做的小程序,今天,正式回本了
前端·后端·微信小程序
李纲明17 小时前
微信小程序 wx.uploadFile 上传失败:合法域名、临时路径与 HTTPS 证书排查
微信小程序·小程序·uploadfile·devdiy·上传失败
冬奇Lab1 天前
一天一个开源项目(第247篇):wxa-runner —— 让小程序在普通浏览器里用微信官方基础库跑起来,直接接 Playwright 做无头 E2E
微信小程序·开源
andrsted1 天前
练题簿在线免费刷题:让整理过的资料,变成能反复练习的题库
学习·微信小程序·小程序·学习方法·刷题·1024程序员节
梅雅达编程笔记2 天前
Day 17 | uni-app 小程序:前端从零搭建
微信小程序·typescript·uni-app·vue3·pinia·前端开发·全栈
zhiboshequ3 天前
Ai音视频对话在微信小程序端的技术实现方案
人工智能·微信小程序·live-pusher·live-player·音视频对话
小蒜学长3 天前
基于过程性评价的ai助学平台(代码+数据库+LW)
java·spring boot·后端·微信小程序·过程性评价
鸿蒙开发4 天前
# 代码写完才发现不能上线:微信小程序开发前必须准备的 8 件事
微信小程序·产品经理