微信小程序开发(五)视图层 .wxml

2024-09-02 14:32

本文主要是介绍微信小程序开发(五)视图层 .wxml,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

视图层

框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。

将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。

微信小程序注册页面后数据会和视图层交互

在Page()函数中的 onReady 生命周期时就可以调用api来改变视图层的表现

.wxml — WXML(WeiXin Markup language) 用于描述页面的结构。

.wxs    — WXS(WeiXin Script) 是小程序的一套脚本语言,结合wxml,可以构建出页面的结构。

.wxss  —  WXSS(WeiXin Style Sheet) 用于描述页面的样式。

组件(Component)是视图的基本组成单元。


.wxml

数据绑定:视图中的动态数据来源于对应 Page 的 data源,使用 Mustache 语法(双大括号)将变量包起来

<view> {{ message }} </view> //内容
<view id="item-{{id}}"> </view> //属性
<view wx:if="{{condition}}"> </view> //控制条件
<checkbox checked="{{false}}"> </checkbox> //Boolean 值

运算:可以在 {{}} 内进行简单的运算,支持的有如下几种方式:

<view hidden="{{flag ? true : false}}"> Hidden </view> //三元 flag为变量
<view> {{a + b}} + {{c}} + d </view>  //算数 a,b,c,d为变量
<view wx:if="{{length > 5}}"> </view> //逻辑判断 length为变量
<view>{{"hello" + name}}</view>  //字符串运算 name为变量
<view>{{object.key}} {{array[0]}}</view> 数据路径运算 object,array 为变量
<view wx:for="{{[zero, 1, 2, 3, 4]}}"> {{item}} </view> //组合运算 zero为变量
<template is="name" data="{{for: a, bar: b}}"></template> //对象 a,b为变量。 is表示使用某一个模板,支持Mustache。支持es6运算扩展

注意: 花括号和引号之间如果有空格,将最终被解析成为字符串


渲染:数据和模板渲染成视图

wx:for  —  数组渲染, 默认数组的当前项的下标变量名默认为  index,数组当前项的变量名默认为 item

<view wx:for="{{array}}">{{index}}: {{item.message}}
</view>

别名 : 当前项下标 wx:for-index:"idx"   当前项 wx:for-item:"itemName"

 

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">{{idx}}: {{itemName.message}}
</view>

wx:for 可以应用在block标签上,block标签无意义标签,接受受控制的条件属性


wx:key — 唯一标识,可避免被重新渲染

如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 <input/> 中的输入内容,<switch/> 的选中状态),需要使用 wx:key 来指定列表中项目的唯一的标识符。

wx:key 的值以两种形式提供

  1. 字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
  2. 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字,如:

当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且提高列表渲染时的效率。

如不提供 wx:key,会报一个 warning, 如果明确知道该列表是静态,或者不必关注其顺序,可以选择忽略。


wx:ifwx:elseifwx:else  条件控制渲染

<view wx:if="{{condition}}"> True </view>   //单条件 condition 为Boolean值
<view wx:if="{{length > 5}}"> 1 </view>     //互斥条件渲染
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

 wx:if 可以应用在block标签上


hidden — 显示隐藏

<view hidden="{{myHidden ? true : false}}">测试显示隐藏</view> //myHidden变量

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

这篇关于微信小程序开发(五)视图层 .wxml的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130222

相关文章

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Redis迷你版微信抢红包实战

《Redis迷你版微信抢红包实战》本文主要介绍了Redis迷你版微信抢红包实战... 目录1 思路分析1.1hCckRX 流程1.2 注意点①拆红包:二倍均值算法②发红包:list③抢红包&记录:hset2 代码实现2.1 拆红包splitRedPacket2.2 发红包sendRedPacket2.3 抢

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接