美文网首页
条件渲染wx:if

条件渲染wx:if

作者: 舒小妮儿 | 来源:发表于2018-03-12 15:06 被阅读1246次

小程序中使用 wx:if="{{condition}}" 进行条件渲染,当conditiontrue时,携带 wx:if 这个可知属性的标签才会被渲染显示。

之前在项目中就遇到过一个问题:
页面的wxml如下:

jobDetail.wxml
但在小程序开发工具调试器窗口中:
xml调试器窗口

结合两张图渲染顺序可以看出,image是最后渲染加在页面上的,但从DOM结构来看,image应该会早于white-bgView先渲染。那么导致实际与预期出现偏差但原因是什么呢?

查看image标签,可以猜测应该wx:if控制属性影响的,为验证猜想,去掉wx:if属性后,小程序调试器xml窗口显示结构如预期:

去掉wx:if后
再回头看官方文档也有提到,wx:if是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。
这也可以很好的解释为何增加了wx:if后的image被加在DOM树底部,jobDetail页面的jobInfo.banner_url是网络请求得到的,一开始进入页面,在请求完成前为空,所以这时的渲染条件为falseDOM跳过image元素渲染whit-bgView。等到页面数据请求成功后,jobInfo.banner_url有值,wx:if的条件变为true,页面会进行局部渲染显示image

Tip:官方文档也将wx:if和hidden进行比较,在具体实际使用中如何选择有很大帮助。

wx:if VS hidden

相关文章

  • 2018/5/6微信小程序开发日志

    wx:if条件渲染 hidden条件渲染 wx:for循环 item,index

  • 条件渲染wx:if

    小程序中使用 wx:if="{{condition}}" 进行条件渲染,当condition为true时,携带 w...

  • 条件渲染(wx:if) 和 列表渲染(wx:for)

    概述:本文主要描述微信小程序开发过程中 wx:if和wx:for的用法,顺带展示二者连用的坑; 一.基本使用: 1...

  • 微信小程序wx:if和hidden的区别

    1、wx:if : 有更高的切换消耗。条件不成立,不会生成节点,使用wx:if,显示结果渲染,不显示不渲染。 2、...

  • 列表渲染 wx:key 的作用、条件渲染 wx:if 与 hid

    这是微信小程序踩坑系列的第三篇,想要了解更多关于微信小程序开发的那些事,欢迎关注我的《微信小程序》专栏。 前言 开...

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

    因为wx:if之中也可能包含数据绑定,所以当wx:if的条件值切换时,框架有一个局部渲染的过程,他会确保条件在切换...

  • 微信小程序之block

    1 .列表渲染 block wx:for --渲染一个包含多节点的结构块 2.条件渲染 如果要一次性判断多个组件标...

  • 小程序条件渲染

    block 占位符标签 写代码的时候 可以看到标签的存在 页面渲染 小程序会把它移除掉 条件渲染 1.wx:if ...

  • 微信小程序

    微信小程序开发的记录 渲染标签 条件标签:# way0: true/false是布尔值

    基于wepy开发

    setData()不能直接操作数据 wx:if 是惰性渲染 wx:for="{{data}}"; wx:key有两...

网友评论

      本文标题:条件渲染wx:if

      本文链接:https://www.haomeiwen.com/subject/mqmnfftx.html