《智能前端技术与实践》——第 2 章 前端开发基础 ——2.7 微信小程序开发——2.7.2 页面描述文件(2)

简介: 《智能前端技术与实践》——第 2 章 前端开发基础 ——2.7 微信小程序开发——2.7.2 页面描述文件(2)

《智能前端技术与实践》——第 2 章 前端开发基础 ——2.7 微信小程序开发——2.7.2 页面描述文件(1): https://developer.aliyun.com/article/1228017?groupCode=tech_library


2.条件渲染


所谓条件渲染是指根据绑定表达式的值来判断是否渲染当前组件,如代码清单 2-32 所示。


代码清单 2-32


<!-- 三元运算 --><viewclass="description"hidden="{{desFlag?true:false}}">{{description}}
</view>


在代码清单 2-32 中,当 desFlag 变量的值为 true 时,view 组件将不会被渲染;当 desFlag 变量的值为 false 时,将 view 组件渲染输出到页面。


在小程序中,使用另一种方式来进行类似的条件渲染,即使用 wx:if=""来判断是否需要渲 染该代码块,如代码清单 2-33 所示。


代码清单 2-33

<viewwx:if="{{condition}}"> True </view>


在代码清单 2-33 中,当 condition 变量的值为 true 时,view 组件将被渲染输出;否则,该组 件将不会被渲染。我们也可以用 wx:elif 和 wx:else 添加一个 else 块,如代码清单 2-34 所示。


代码清单 2-34


<viewwx:if="{{length > 5}}"> 1 </view><viewwx:elif="{{length > 2}}"> 2 </view><viewwx:else> 3 </view>

在代码清单 2-34 中,当 length 大于 5 时,界面中渲染输出的数字是 1;当 length 大于 2 且小于 或等于 5 时,界面中渲染输出的数字是 2;当 length 小于或等于 2 时,界面中渲染输出的值是 3。


接下来,我们看一下 wx:if 与 hidden 之间的区别。首先,控制渲染的逻辑变量的含义相反。 其次,wx:if 有更高的切换消耗,因为 wx:if 之中的模板可能包含数据绑定,当 wx:if 的条件值 切换时,框架有一个局部渲染的过程,来确保条件块在切换时销毁或重新渲染。而 hidden 就比 较简单,组件始终会被渲染,只是简单地控制显示与隐藏。所以,如果需要频繁切换,用 hidden 更好;如果运行时条件不大可能改变,则使用 wx:if 较好。


因为 wx:if 是一个控制属性,所以需要将它添加到一个标签上。如果一次性判断多个组件 标签,我们可以使用一个标签将多个组件包装起来,并在上面使用 wx:if 控制属性。 注意,并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接收 控制属性,如代码清单 2-35 所示。


代码清单 2-35


<blockwx:if="{{true}}"><view> view1 </view><view> view2 </view></block>

运行结果如图 2-39 所示。


image.png


代码清单 2-35 中,当条件为 true 时,标签包含的两个 view 组件的值会被渲染出 来;当条件为 false 时,不会被渲染出来。



《智能前端技术与实践》——第 2 章 前端开发基础 ——2.7 微信小程序开发——2.7.2 页面描述文件(3): https://developer.aliyun.com/article/1228015?groupCode=tech_library

相关文章
|
11月前
|
JSON 监控 前端开发
AMIS:百度开源的前端低代码神器,18.4k star 背后的开发效率提升利器
AMIS(前端低代码框架)是百度开源的低代码前端框架,基于纯 JSON 配置即可生成完整后台页面,包括表单、表格、图表、CRUD 列表,支持可视化拖拽编辑。,星标数已达 18.4k,百度内部已沉淀超过 5 万个页面,广泛应用于审核系统、数据管理后台、模型监控等落地场景
1792 0
|
10月前
|
人工智能 前端开发 JavaScript
前端工程化演进之路:从手工作坊到AI驱动的智能化开发
前端工程化演进之路:从手工作坊到AI驱动的智能化开发
1023 18
前端工程化演进之路:从手工作坊到AI驱动的智能化开发
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
774 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
747 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
1636 14
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
1048 0
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
835 6
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
1401 1