【微信小程序】-- WXML 模板语法 - 条件渲染 -- wx:if hidden (十一)

news2024/9/24 6:40:57

请添加图片描述

  • 💌 所属专栏:【微信小程序开发教程】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

文章目录

  • 前言
  • 一、条件渲染
      • 1、wx:if
      • 2、 \<block\> 使用 wx:if
      • 3、hidden
      • 4、wx:if 与 hidden 的区别
  • 总结


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【微信小程序开发教程】专栏的第11篇文章;
  今天开始学习微信小程序的第七天💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【微信小程序开发教程】, 此专栏是我是夜阑的狗微信小程序开发过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、条件渲染

  前面已经介绍完了WXML模板语法–事件绑定,通过栗子学习到了如何在WXML页面上进行事件绑定。接下来就来讲解一下另外一个模板语法–条件渲染。话不多说,让我们原文再续,书接上回吧。

请添加图片描述

1、wx:if

  在小程序中,使用 wx:if="{{condition}}" 来判断是否需要渲染该代码块,如果里面的 conditiontrue的时候就会显示 view 组件,反之则不显示,示例代码如下所示:

<view wx:if="{{condition}}"> 我是夜阑的狗 </view>

  这里看到 if 语句肯定会联想到 elseelif,同样这里也是有 wx:elsewx:elif ,可以用来添加 else 判断:

<view wx:if="{{type === 1}}"> 夜兰 </view>
<view wx:elif="{{type === 2}}"> 高启强 </view>
<view wx:else> 老默不想吃鱼 </view>

   当改变type属性时,页面显示的文本也是随着改变。可以来看一下实际效果:
在这里插入图片描述

2、 <block> 使用 wx:if

  如果想要控制多个组件一起展示和隐藏的话,就可以使用一个 <block></block> 标签将多个组件包装起来,并在
标签上使用 wx:if 控制属性,具体代码如下:

Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 字符串类型的数据
    info: 'Nice 十连双黄',
  },
})

  注意: 并不是一个组件,它只是一个包裹性质的容器,不会在页面中做任何渲染,所以只会显示该组件内部的组件。

在这里插入图片描述

  看到这里,估计有疑惑了,好像这种操作在两个 view 组件外面再加一个 view + wx:if 不也是可行的吗?确实是可行,但是实际运行过程中,最外部的 view 组件也会被一起渲染出来,而使用 组件不会被渲染,只起到一个包裹的作用,所以使用 组件可以避免渲染不必要的元素,以此来提高页面渲染性能。

3、hidden

  在小程序中,除了使用 wx:if 来控制元素的显示与隐藏外,还可以直接使用 hidden="{{ condition }}" 完成此操作。

cshPageTab.js:

Page({
  /**
   * 页面的初始数据
   */
  data: {
	flag: true,
  },![请添加图片描述](https://img-blog.csdnimg.cn/e8aacdc6d61a4b08885e8e387ebcf6e7.gif)

})

cshPageTab.wxml:

<block wx:if="{{true}}">
  <view hidden="{{flag}}">狂飙</view>
  <view>我也要去卖鱼了</view>
</block>

   当条件为 true 时隐藏元素,条件为 false 时则显示,来看一下实际效果:

请添加图片描述

4、wx:if 与 hidden 的区别

   前面介绍了 wx:if 和 hidden 这两种隐藏显示元素的方法,虽然这种方法实现功能是相似的,但本质上还是有区别的,如下表格所示:

属性wx:ifhidden
运行方式wx:if 以动态创建和移除元素 的方式控制元素的展示与隐藏hidden 以切换样式的方式(display: none/block;),控制元素的显示与隐藏
使用建议控制条件复杂时,建议使用 wx:if 搭配 wx:elif、wx:else 进行展示与隐藏的切换频繁切换时,建议使用 hidden

  因为 wx:if 之中的模板也可能包含数据绑定,所以当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。
  同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。
  这里通过下面的栗子来学习一下两者的不同,具体代码如下:
cshPageTab.wxml:

<block wx:if="{{true}}">
  <view hidden="{{flag}}">狂飙</view>
  <view>我也要去卖鱼了</view>
</block>

  这两者的运行原理是不同的,想要一起显示出来 hidden 属性 flag 就要取反置为 false才可以显示,实现效果如下所示:

在这里插入图片描述

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


总结

  感谢观看,这里就是常用的视图容器类组件的介绍使用,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹
在这里插入图片描述
  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🚝 【Java Web项目构建过程】
  • 💛 【微信小程序开发教程】
  • 【JavaScript随手笔记】
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你说下HashMap的工作原理?

我在网上看了很多文章 &#xff0c;各种长篇大论 &#xff0c;原理细节、实在看不下去了&#xff0c;所以着重讲一下&#xff0c;HashMap 面试会问到的点 说人话&#xff0c; 你们公司的集合 不会自研吧&#xff0c; 假如 你们叫 锤子科技 &#xff0c;那老板也不会要求你去写一…

【巨人的肩膀】JAVA面试总结(二)

1、&#x1f4aa; 目录1、&#x1f4aa;1.0、什么是面向对象1.1、JDK、JRE、JVM之间的区别1.2、什么是字节码1.3、hashCode()与equals()之间的联系1.4、String、StringBuffer、StringBuilder的区别1.5、和equals方法的区别1.6、重载和重写的区别1.7、List和Set的区别1.8、Array…

智慧标牌系统

一、产品特色 无需基站&#xff0c;服务器&#xff0c;手机蓝牙无线更新独创&#xff1a;智能感应标签内容到手机模版可自己DIY设计&#xff0c;多模版随意切换支持固件在线升级点阵电子墨水屏幕&#xff0c;柔和显示&#xff0c;超宽视角超长续航&#xff0c;3-5年电池寿命&a…

综述:弱监督下的异常检测算法

一、前言文章标题是&#xff1a; Weakly Supervised Anomaly Detection: A Survey这是一篇针对“弱监督”异常检测的综述。 其中弱监督异常检测 简称为 WSAD论文链接&#xff1a;https://arxiv.org/abs/2302.04549代码链接&#xff1a;https://github.com/yzhao062/wsad二、问题…

开发游戏时如何操控 游戏打击感?利用好Feel插件可快速提升游戏感

&#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;Unity系统学习专栏 &#x1f332; 游戏制作专栏推荐&#xff1a;游戏制作 &…

WBS工作分解结构法,如何细分你的工作

想要做好项目管理&#xff0c;就必须掌握这个方法——WBS 项目分解的结构也是至关重要&#xff0c;WBS分解结构的特点是&#xff1a; 1、自上而下&#xff0c;逐级进行分解。 2、一个任务节点也只能一个人负责&#xff0c;其他人配合。 3、工作量以日为单位。 4、根据项目…

记录第一个Python练习的过程

题目如下 编写一个名为collatz()的函数&#xff0c;它有一个名为number的参数。如果参数是偶数&#xff0c;那么collatz()就打印出number // 2&#xff0c;并返回该值。如果number是奇数&#xff0c;collatz()就打印并返回3 * number 1。 然后编写一个程序&#xff0c;让用户…

【强烈建议收藏:计算机网络面试专题:HTTP协议、HTTP请求报文和响应报文、HTTP请求报文常用字段、HTTP请求方法、HTTP响应码】

一.知识回顾 之前我们一起学习了HTTP1.0、HTTP1.1、HTTP2.0协议之前的区别、以及URL地址栏中输入网址到页面展示的全过程&&DNS域名解析的过程、HTTP协议基本概念以及通信过程、HTTPS基本概念、SSL加密原理、通信过程、中间人攻击问题、HTTP协议和HTTPS协议区别。接下来…

毕业设计 基于51单片机环境监测设计 光照 PM2.5粉尘 温湿度 2.4G无线通信

基于51单片机环境监测设计 光照 PM2.5粉尘 温湿度 2.4G无线通信1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STC89C52单片机核心系统电路设计2.2 dht11温湿度检测电路设计2.3 NRF24L01无线通信电路设计3、部分代码展示3.1 NRF24L01初始化3.2 NRF24L01的SPI写时序3.…

H264基本原理

前言H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛&#xff0c;最流行的。随着 x264/openh264以及ffmpeg等开源库的推出&#xff0c;大多数使用者无需再对H264的细节做过多的研究&#xff0c;这大降低了人们使用H264的成本。但为了用好H264&#xff0c;我们还是要对…

决策树在sklearn中的实现

目录 一.模块sklearn.tree 二.建模基本流程 三.DecisionTreeClassifier重要参数 1.criterion 2.random_state & splitter 3.剪枝参数max_depth 4.剪枝参数min_samples_leaf & min_samples_split 5.max_features & min_impurity_decrease 6.class_weight …

Java奠基】掌握Java基础知识

目录 常见字面量 特殊字面量 数据类型 标识符 键盘录入 常见字面量 字面量就是数据在程序中的书写格式&#xff0c;字面量的分类如下&#xff1a; 字面量类型说明举例整数类型不带小数点的数字12&#xff0c;25小数类型带小数点的数字3.14&#xff0c;-5&#xff0c;20…

【设计模式】7.适配器模式

概述 如果去欧洲国家去旅游的话&#xff0c;他们的插座如下图最左边&#xff0c;是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑&#xff0c;手机在当地不能直接充电。所以就需要一个插座转换器&#xff0c;转换器第1面插入当地的插座&#xff0c;第2面供…

易基因|独家分享:高通量测序后的下游实验验证方法——DNA甲基化篇

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。此前&#xff0c;我们分享了DNA甲基化研究的测序数据挖掘思路&#xff08;点击查看详情&#xff09;&#xff0c;进而鉴定出研究的目的基因或目标区域的DNA甲基化。做完测序后&#xff0c;…

华为OD机试题,用 Java 解【租车骑绿岛】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

电商(强一致性系统)的场景设计

领域拆分&#xff1a;如何合理地拆分系统&#xff1f; 一般来说&#xff0c;强一致性的系统都会牵扯到“锁争抢”等技术点&#xff0c;有较大的性能瓶颈&#xff0c;而电商时常做秒杀活动&#xff0c;这对系统的要求更高。业内在对电商系统做改造时&#xff0c;通常会从三个方面…

OM | 具有弹性需求的广义随机共乘(拼车)用户均衡问题

编者按&#xff1a; 通过扩展确定性共乘用户均衡问题&#xff0c;提出了具有弹性需求的广义随机共乘用户均衡问题&#xff0c;用于具有共乘出行活动的城市交通网络分析。 1、引言​ 共乘&#xff08;ridesharing&#xff09;&#xff0c; 即生活中的“拼车”、“顺风车”&am…

华为OD机试题,用 Java 解【斗地主】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

巧用 ChatGPT,让开发者的学习和工作更轻松

引言 随着人工智能技术的快速发展和广泛应用&#xff0c;ChatGPT 作为一种新兴的自然语言处理模型&#xff0c;近期备受瞩目&#xff0c;引发了广泛讨论。 ChatGPT 具有多种应用场景&#xff0c;既可以用作聊天机器人&#xff0c;实现智能问答和自然语言交互&#xff0c;也可…

2.27自动化测试

第零步 根据脑图写测试用例第一步.创建共同类防止每次进行测试不同界面的时候都重新创建驱动浪费时间注意要用static 否则后续无法直接使用getdriver方法第二步 对登录界面写测试用例先在test下创建一个登录类.每个界面用不同的类,防止混在一起并让其继承common包下的commonDri…