分享好友 最新动态首页 最新动态分类 切换频道
零基础微信小程序开发——WXML 模板语法之条件渲染(保姆级教程+超详细)
2024-12-27 21:35

在微信小程序开发中,WXML(WeiXin Markup Language)是类似HTML的标记语言,用于构建小程序的页面结构。条件渲染是WXML中一种常用的模板语法,用于根据条件动态地控制页面元素的显示与隐藏。

零基础微信小程序开发——WXML 模板语法之条件渲染(保姆级教程+超详细)

使用wx:if进行条件渲染

wx:if是WXML中用于条件渲染的指令。它可以根据一个布尔值条件来判断是否需要渲染某个元素。

语法

其中{{condition}}是一个布尔值表达式,如果它的值为true,则元素会被渲染到页面上;如果值为false,则元素不会被渲染。

示例

index.wxml文件


对进行表达式判断,如果为TRUE就进行渲染,可以看到两个表达式,第一个是判断存在,如果存在就显示 欢迎回来,用户!,第二个是判断不存在,如果不存在就显示 请登录

我们先不给赋值,然后看看页面上是什么结果

如果给赋值之后看看会怎么样

index.js文件


我们给userLoggedIn进行了赋值,给了一个hello world值,现在userLoggedIn已经是存在的了,然后再去页面上看看结果

因为userLoggedIn已经存在了所以第一个元素等于True

使用wx:elif和wx:else添加条件逻辑

除了wx:if之外,还可以使用wx:elif和wx:else来添加更多的条件逻辑,以便处理多个条件。

语法

在这个语法中,如果condition1为true,则渲染第一个元素;如果condition1为false且condition2为true,则渲染第二个元素;如果两者都为false,则渲染wx:else后面的元素。

示例:

index.wxml文件


在xml文件中,我们进行了三个判断,第一个判断是如果type等于1就显示男,如果不满足这个条件的话就就下第二个wx:elif的判断,如果type等于2就显示女,如果wx:if和wx:elif中的条件都不满足的话就渲染wx:else,显示保密 那简单说一下if elif else 这三个的功能


然后我们给type赋值来看看如何改变结果 index.js文件


上面我们给type赋值为1,那么页面上就会显示男,然后看看我们更改type的值之后是什么结果,在AppData中可以修改对应的值,大家注意看动图中的AppData中type值的变更,跟页面上渲染的结果

注意事项
  • 使用wx:if时,需要确保条件表达式是一个布尔值。
  • 当使用wx:if、wx:elif和wx:else时,它们必须包裹在同一个父元素内部(虽然图片中的示例并没有严格遵守这一点,但在实际开发中建议这样做)。
  • 条件渲染会导致元素的创建和销毁,因此在需要频繁切换显示状态的场景下,可能会影响性能。对于这种情况,可以考虑使用hidden属性或class绑定来控制元素的显示与隐藏(这种方式不会销毁元素,只是改变其可见性)。

结合使用wx:if

在微信小程序开发中,WXML(WeiXin Markup Language)是构建页面结构的标记语言。条件渲染是WXML中一种常用的模板语法,用于根据条件动态地控制页面元素的显示与隐藏。当需要一次性控制多个组件的展示与隐藏时,可以结合使用标签和wx:if属性。

使用方法
  1. 包裹组件: 使用标签将需要控制显示与隐藏的多个组件包裹起来。并不是一个真正的组件,它只是一个包裹性质的容器,不会在页面中做任何渲染。
  2. 添加wx:if属性: 在标签上添加wx:if属性,并为其指定一个布尔值表达式。这个表达式的值决定了标签内的组件是否会被渲染到页面上。
示例

本案例将展示一个简单的条件渲染示例,其中包含一个布尔值变量isShowContent。当isShowContent为true时,将显示一段文本内容;当isShowContent为false时,则不显示任何内容。

index.wxml文件


  • :定义一个容器视图,用于包裹整个条件渲染的区域。
  • :使用标签结合wx:if指令进行条件渲染。{{isShowContent}}是一个数据绑定表达式,它表示一个布尔值变量。
  • :当isShowContent为true时,这个会被渲染到页面上,并显示其中的文本内容。
  • :用于显示文本内容的组件。

index.js文件



hidden

在微信小程序开发中,WXML(WeiXin Markup Language)是用于构建页面结构的标记语言。条件渲染是WXML中的一个重要功能,它允许开发者根据条件动态地控制页面元素的显示与隐藏。除了之前提到的wx:if指令外,WXML还提供了hidden属性来实现条件渲染。

hidden属性的使用

hidden属性是一个布尔属性,当它的值为true时,对应的元素会被隐藏;当值为false时,元素则会被显示出来。与wx:if不同的是,hidden属性只是简单地控制元素的可见性,而不会销毁元素或重新创建元素。


案例

本案例将展示一个简单的条件渲染示例,其中包含一个布尔值变量condition。当condition为true时,将隐藏一个红色的元素;当condition为false时,则显示该元素。同时,为了对比,还将展示一个始终可见的绿色元素。 index.wxml文件


  • :定义一个容器视图,用于包裹整个条件渲染的区域和一个按钮。
  • :定义一个红色的元素,并使用hidden属性来控制其显示与隐藏。{{condition}}是一个数据绑定表达式,它表示一个布尔值变量。
  • :用于显示文本内容的组件。
  • :定义一个绿色的元素,用于与红色的元素进行对比,并且它始终可见。
  • :一个按钮,当用户点击它时,会触发toggleCondition事件处理函数。

index.wxss文件 CSS样式(为了更直观地展示效果,可以添加一些简单的样式):


index.js文件


  • data对象:定义了页面的初始数据,其中condition被初始化为true,表示红色视图元素默认隐藏。
  • toggleCondition函数:是一个事件处理函数,当用户点击按钮时会被调用。它使用this.setData方法来更新condition的值,通过!操作符来切换布尔值。

结果:

wx:if 与 hidden 的对比

对比项 运行方式 动态创建和移除元素 切换样式( 或 ) 性能影响 条件不满足时,不创建DOM节点,但切换时可能涉及DOM重构 始终存在于DOM中,只是切换显示状态,性能开销小但占用资源 适用场景 控制条件复杂或需要频繁切换显示/隐藏状态的多个元素时较优 控制条件简单,不需要频繁切换或元素数量较少时较优 代码示例 搭配使用 可与、搭配,实现多条件逻辑判断 单独使用,不支持多条件逻辑的直接判断 使用建议 条件复杂或需要避免不必要的DOM节点创建时,优先使用 频繁切换且条件简单,或元素较少时,可能更高效

说明

  1. 运行方式:在条件不满足时不会创建DOM节点,而则是通过切换元素的样式来控制显示与隐藏。

  2. 性能影响:在条件切换时可能涉及DOM重构,而只是简单地切换显示状态,不涉及DOM节点的增删。但在条件不满足时不会占用DOM资源。

  3. 适用场景:根据性能需求和条件复杂度,选择合适的条件渲染方式。

  4. 代码示例:给出了和的基本用法。

  5. 搭配使用:可以与其他条件判断指令搭配使用,实现更复杂的逻辑。

最新文章
美国抖音TikTok购房指南:官网指南助你实现购房梦想(2024版)
海外抖音短视频赚钱是真实存在的现象。虽然通过这些途径获得的收入相对较少,但确实有一些用户通过制作和分享有趣、创意的短视频在抖音平台上吸引了大量粉丝,从而获得了一定的经济收益。常见的在海外利用抖音赚钱的方法包括广告合作、开设
高清美女写真:用AI神器生成你的理想女友
注册登录:首先访问搜狐简单AI官方网站或手机应用,进行注册并登录。这个步骤是必不可少的,方便你保存生成的图片。选择生成类型:在主页上,你会看到多种生成模式,可以选择“美女写真”模式,开启这段美妙的旅程。输入关键词:在生成界面
搜百度新浪电子书的引擎_搜百度新浪电子书的引擎是什么(新浪电子书免费)
1、1谷歌搜刮,是一家美国的跨国科技公司,致力于互联网搜刮云盘算广告技能等范畴2雅虎搜刮,美国闻名互联网流派网站,服务范围涉及搜刮引擎电邮消息等3搜狗搜刮,搜狐公司旗下子公司,重要策划搜狐公司的搜刮业务4爱问搜刮,一款由新浪研
警告!勒索病毒卷土重来,天翼云盘为你护航!
6月27日晚间,一波大规模勒索蠕虫病毒攻击重新席卷全球。这是一种新型勒索蠕虫病毒。电脑、服务器感染这种病毒后会被加密特定类型文件,导致系统无法正常运行。目前,该勒索蠕虫通过Windows漏洞进行传播,一台中招可能就会感染局域网内其它
深圳高速公路集团股份有限公司 关于向特定对象发行A股股票申请获得中国证监会 同意注册批复的公告
登录新浪财经APP 搜索【信披】查看更多考评等级  本公司董事会及全体董事保证本公告内容不存在任何虚假记载、误导性陈述或者重大遗漏,并对其内容的真实性、准确性和完整性承担法律责任。  深圳高速公路集团股份有限公司(以下简称“公
【现代 H6腾讯手机管家下载】现代 H6腾讯手机管家16.1.19免费下载
腾讯手机管家专注手机骚扰拦截,动态守护手机安全,深度清理微信、QQ缓存,让手机体积减半,拒绝卡慢。---认真服务---【骚扰拦截】智能拦截骚扰电话,过滤诈骗垃圾短信【清理加速】清理加速能力升级,释放空间告别卡慢【微信清理】个性清理
置顶交易类小程序纠纷投诉能力处理指引官方精选热门
为进一步保障小程序平台用户的合法权益,督促开发者向用户提供更好的服务,平台将针对小程序交易投诉处理规则做出以下更新:1、和解环节开发者处理时效由72h改为48h,执行环节开发者处理时效由72h改为48h2、和解环节开发者超时未处理,平台
通达信【变量速买】副图/选股优化版 变盘强势买点尽在变量 指标源码
好股网(www.goodgupiao.com)提示:您正在下载的是:通达信【变量速买】副图/选股优化版 变盘强势买点尽在变量 指标源码两附图和一选股指标:这意味着该指标套装包含两个用于图表分析的副图指标和一个用于选股的指标。无未来函数信号不漂移
年轻人如何通过直播赚钱?有哪些值得注意的技巧与方法?
在这个互联网时代,年轻人通过直播赚钱已不再是一个新鲜话题。随着短视频平台和直播平台的崛起,越来越多的年轻人选择进入这个领域,希望通过自己的才华和创意赚取丰厚的收入。那么,年轻人如何通过直播赚钱呢?在这个过程中又有哪些值得注
解决苹果CMS采集无播放地址问题,轻松实现视频播放!
苹果CMS是一种比较流行的视频网站程序,很多站长都喜欢使用它来建设自己的影视网站。但是有些站长在使用苹果CMS采集时,会遇到一个问题:采集下来的视频没有播放地址。那么,这个问题出现的原因是什么呢?接下来,我们就来一一解答。 一、
相关文章
推荐文章
发表评论
0评