当前位置: 首页 > 知识库问答 >
问题:

前端 - 微信小程序微信wx:If/else外层包裹block?

欧阳飞
2024-01-24
<view>   <block wx:if="{{item.tree.logo}}">     <image src="{{item.tree.logo}}"></image>   </block>   <block wx:else>     <image src="http://temp.im/50x30"></image>   </block> </view>

image标签外层为什么要包裹block,不可以直接写成如下代码吗?

<view>     <image src="{{item.tree.logo}}" wx:if="{{item.tree.logo}}"></image>     <image src="http://temp.im/50x30" wx:else></image> </view>

包裹block是出于什么考虑呀?

共有3个答案

司空学智
2024-01-24

也并不是不可以,不过相对来说,个人认为加了 block 后,结构更清晰更直观。

戚俊健
2024-01-24

可以啊,为啥不行?我也没看到文档中说不行啊。

WXML 语法参考 / 条件渲染
媒体组件 / image


可能原本是一个 wx:if 判断里面有多个元素吧,所以用了 block 包裹,其实就是和 Vue 里面的 template 作用是一样的。后来业务调整之后直接删了也没有删除多余的 block 元素。

施靖
2024-01-24

在微信小程序中,block 是一个可以包含多个节点的容器,它可以包含 viewtextimage 等节点。使用 block 可以使代码结构更加清晰,易于维护。

在您提供的代码中,使用 block 是出于以下几个考虑:

  1. 结构清晰:通过使用 block,您可以清晰地看到哪些节点是条件渲染的,哪些不是。这有助于提高代码的可读性和可维护性。
  2. 避免不必要的渲染:在您提供的第二种代码中,如果 item.tree.logo 为真,那么两个 image 节点都会被渲染。这可能会导致不必要的性能开销。使用 block 可以确保只有满足条件的节点被渲染。
  3. 灵活性:使用 block 可以让您在条件块中包含其他类型的节点,例如 text 或自定义组件等。这为您提供了更大的灵活性来组织您的代码。

总的来说,使用 block 是为了提高代码的可读性和可维护性,并确保更高效的渲染性能。

 类似资料:
  • @megalo/target 的 platform 设置成 wechat,mini-css-extract-plugin 提取文件后缀改成微信小程序的 wxss。 const createMegaloTarget = require( '@megalo/target' ) const compiler = require( '@megalo/template-compiler' ) const M

  • 1、第三方应用授权对接 ​ 之前对接小程序只提供了开发者授权的方式,这种方式的弊端是,如果客户同时对接了其他的系统,会产生access token冲突,导致消息发不过来。因此新增第三方平台授权的方式,客户可以在智齿后台直接扫二维码授权对接。流程如下: 1.1、选择授权方式,进入配置页 点击绑定小程序时选择授权方式,默认推荐第三方平台授权: 点击确定进入配置页: 1.2、扫描授权二维码 点击“微信公

  • 微信小程序配置 1.微信小程序使用流程 具体配置参考相关教程 uni-app编译版参考教程 uni-app编译版 uni-app开源版参考教程 uni-app开源版 2.微信小程序下载 打开后台-小程序-微信小程序-小程序源码下载,注:针对已购买小程序的客户,可选"编译版""开源版""更新包" 3.微信小程序装修 1.首页导航: (导航能够有效帮助粉丝跳转到各个关键页面,是整个店铺的“指南针”。)

  • 微信小程序 微信小程序扫码授权以后,用户在小程序点击客服按钮发送的消息会转发给机器人,机器人会自动回复消息给小程序用户,同一个微信小程序同时只能绑定一个机器人,如果绑定了新的机器人,之前绑定的机器人会解除绑定。 注:微信小程序渠道接入后,用户仅可以发送文字进行问答。 只需三步接入微信小程序,自动回答小程序上的用户问题: 1. 创建机器人 注册登录https://bot.4paradigm.com后

  • workerman可以作为微信小程序wss后端,参考 创建wss服务一节。

  • 标准版小程序 SDK WePY 小程序框架 SDK mpVue 小程序框架 SDK mpVue 插件版小程序框架 SDK