12.22 wxml语法

1.page页面

  1. 在app.json的pages中可以添加或删除页面

  2. 每个页面由四个文件组件:

  3. *.js : 页面逻辑 *.json: 页面配置,可覆盖app.json中的配置 *.wxml: 页面结构 *.wxss: 页面样式

  4. WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。

2.WXML中常用组件

  1. 视图组件:view

  2. 文本组件:text

  3. 按钮组件:button

  4. 图片组件:image

  5. Block 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。

  6. 图标组件:icon

BUG:wran按钮不能显示红色背景的原因 新版中的button的type为warn时,只是改变了文字颜色,没有改变button背景色 可以通过修改style:'v2'来解决

![[1280X1280 (56).PNG]]

3.数据绑定

WXML 中的动态数据均来自对应 Page 的 data。

![[1280X1280 (57).PNG]]

![[1280X1280 (58).PNG]]

![[1280X1280 (59).PNG]]

![[1280X1280 (60).PNG]]

![[1280X1280 (61).PNG]]

![[1280X1280 (62).PNG]]

![[7c241047-01fc-4ff4-974f-4ad77915c131.png]]

4.列表渲染

![[5a4085d8-98f9-4106-9bf2-8c1251c7518f.png]]

![[341f497e-6f3a-452b-bee4-47fb7aaf467a.png]]

![[977ca2f7-ecb4-426a-a304-980a7a100292.png]]

![[fdd919a9-b694-4c04-b36b-614adf47b139.png]]

Plain 复制代码
<view  wx:for="{{list}}" wx:key="id" > {{item.id}} </view>
data: {
  arr: ["a","b","c"]
}
<view  wx:for="{{arr}}" wx:key="*this" > {{item}} </view>

循环嵌套

HTML 复制代码
<view class="goodList">
    <view wx:for="{{goodList}}">
        <view class="type">{{item.type}}</view>
        <view wx:for="{{item.list}}" wx:for-item="smallItem" wx:for-index="idx">
        {{smallItem.title}} --- {{idx}}
        </view>
    </view>
</view>

5.条件渲染

![[9a47fe26-220b-4c8e-9cf6-ec8fa47cb710.png]]

![[76d3a67c-1658-40ee-b0d7-292d4b5ae027.png]]

Plain 复制代码
<view hidden="{{true}}">{{newNum}}</view>

![[b8bed575-0e81-4431-b098-9501abb21293.png]]

  1. 面试题:小程序是不是双向数据绑定?
HTML 复制代码
默认情况下,小程序不是双向数据绑定,但是想要实现双向数据绑定,可以给input的value值添加model操作
<input type="text" class="inp" model:value="{{value}}"/>
相关推荐
lsx2024065 小时前
Python3 SMTP发送邮件教程
开发语言
懈尘5 小时前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言
凉辰5 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好5 小时前
05_Java 类加载过程
java·开发语言
PPPPPaPeR.5 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
echoVic5 小时前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
橙露5 小时前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言
froginwe115 小时前
C 标准库 - `<float.h>`
开发语言
程序员Agions5 小时前
useMemo、useCallback、React.memo,可能真的要删了
前端·react.js
echoVic5 小时前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制
java·javascript