小程序wx:if 和hidden的区别?

在小程序中,wx:ifhidden 是用于条件渲染的两种不同方式。

选择使用哪种方式取决于具体情况。如果条件变化频繁或节点包含复杂的子节点,可以考虑使用 wx:if 进行条件渲染;如果条件变化较少且节点结构简单,可以使用 hidden 控制显示与隐藏

  1. wx:if:使用 wx:if 可以根据条件动态地添加或删除一个节点及其子节点。当条件为真时,该节点会被渲染到页面上;当条件为假时,该节点会从 DOM 树中移除。每次条件发生变化时,都会重新进行渲染和构建 DOM 树

    html 复制代码
    <view wx:if="{{condition}}">
      <!-- 根据条件渲染的内容 -->
    </view>
  2. hidden:使用 hidden 可以隐藏或显示一个节点,但它不会改变 DOM 树的结构。当条件为真时,节点仍然存在于 DOM 树中,只是设置了 CSS 的 display: none 属性,从而使其在页面上不可见;当条件为假时,节点会显示出来

    html 复制代码
    <view hidden="{{!condition}}">
      <!-- 根据条件隐藏或显示的内容 -->
    </view>

    区别:

  3. wx:if 在条件为假时会从 DOM 树中移除节点,重新渲染时会重新构建节点,因此在条件频繁变化的场景下,性能较低

  4. hidden 仅控制节点的显示与隐藏,不会改变 DOM 结构,性能较好。但在隐藏的节点上可能会触发事件、占用内存等,需要额外注意

相关推荐
IT_陈寒几秒前
JavaScript性能优化完全指南
前端·人工智能·后端
上海云盾-小余3 分钟前
游戏账号盗刷、数据篡改防护全攻略:前端加密 + 后端 WAF 双重加固
前端·游戏
Cobyte9 分钟前
7.响应式系统比对:手写一个响应式状态库并应用在 React 上
前端·javascript·vue.js
渔舟小调10 分钟前
P18 | Element Plus 通用 CRUD 页面模板:一个模板覆盖 80% 管理页面
javascript·vue.js·elementui
深海鱼在掘金11 分钟前
2026年前端开发工程师转型AI Agent开发工程师全指南
前端·人工智能
Beginner x_u14 分钟前
前端八股整理|浏览器|高频小题 01
前端
恋猫de小郭18 分钟前
Copilot 下架 opus ,Qwen 开始按量计费,GLM 限制非代码使用,Token都在涨价,人还比 Token 便宜吗?
前端·人工智能·ai编程
invicinble20 分钟前
总结前端架子--vuecli(前端脚手架)
前端
码云社区26 分钟前
家政小程序+后台源码分享:保姆级教程,快速搭建自有平台
小程序·家政·家政服务·家政系统
幽络源小助理27 分钟前
二维码生成与解析工具HTML源码_纯前端响应式二维码制作_幽络源源码
前端·html