【愚公系列】《微信小程序项目实战(AI编程+视频图解)》009-莫凡商城小程序项目视图层

发布时间:2026/10/4 20:04:08
【愚公系列】《微信小程序项目实战(AI编程+视频图解)》009-莫凡商城小程序项目视图层 【行业认证·权威头衔】✔ 华为云天团核心成员特约编辑/云享专家/开发者专家/产品云测专家✔ 开发者社区全满贯CSDN博客商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金亚马逊51CTO顶级博主✔ 技术生态共建先锋横跨鸿蒙、云计算、AI等前沿领域的技术布道者【荣誉殿堂】 连续三年蝉联华为云十佳博主2022-2024 双冠加冕CSDN年度博客之星TOP220222023 十余个技术社区年度杰出贡献奖得主【知识宝库】覆盖全栈技术矩阵◾ 编程语言.NET/Java/Python/Go/Node…◾ 移动生态HarmonyOS/iOS/Android/小程序◾ 前沿领域物联网/网络安全/大数据/AI/元宇宙◾ 游戏开发Unity3D引擎深度解析文章目录微信小程序视图层1 WXML2 动态绑定数据3 组件属性动态绑定数据4 控制属性动态绑定数据5 关键字动态绑定数据6 运算1. 三元运算2. 数学运算3. 逻辑判断4. 字符串运算5. 数据路径运算7 补充事件绑定与数据更新注意事项附AI 提示词模板与完整回答示例模板 1让 AI 解释 WXML 数据绑定与运算一、WXML 的作用二、数据来源三、{{}} 的用法四、完整示例五、注意事项模板 2让 AI 修复 WXML 代码错误微信小程序视图层完成小程序和页面的注册后就可以开始构建小程序页面视图了。WXML 是视图层框架设计的标签语言结合基础组件、事件系统可以构建出页面的视图。1 WXML在框架页面文件的*.wxml文件里可以利用 WXML 来构建小程序页面视图。构建视图页面内容需要用到组件。例如在页面中显示“你好微信小程序”代码如下view你好微信小程序/view补充说明WXML 类似 HTML但标签和属性是微信小程序自定义的。常用组件包括view、text、image、button、input、scroll-view等。WXML 负责页面结构WXSS 负责页面样式JS 负责页面逻辑。WXML 标签通常需要闭合属性值建议使用双引号。2 动态绑定数据在*.wxml文件里可以使用view组件进行布局设计。在上一小节的示例中页面中显示的内容是直接写在view组件中的不是动态数据。那么如何动态地绑定数据呢*.wxml文件中使用的动态数据都来自*.js文件中Page()函数的data对象。在*.wxml文件中通过双大括号{{}}将在*.js文件中定义的变量括起来放在view组件中这样就可以实现数据动态绑定效果了。示例代码如下index.wxml!--index.wxml--view{{message}}/viewindex.js// index.jsPage({data:{message:你好微信小程序}});说明{{message}}会读取Page中data.message的值。当data中的数据变化时通过this.setData()更新页面会自动刷新。直接修改this.data.message不会触发页面更新。3 组件属性动态绑定数据组件属性动态绑定数据就是将*.js文件中data对象里的数据绑定到小程序的组件上示例代码如下index.wxml!--index.wxml--viewid{{id}}/viewindex.js// index.jsPage({data:{id:0}});说明id{{id}}表示把data.id的值绑定到view组件的id属性上。属性绑定建议加引号例如id{{id}}避免被解析为字符串。除了id还可以绑定class、style、src、disabled等属性。4 控制属性动态绑定数据控制属性动态绑定数据是通过条件判断语句wx:if来控制的。如果满足条件则执行该语句否则不执行。示例代码如下index.wxml!--index.wxml--viewwx:if{{flag}}/viewindex.js// index.jsPage({data:{flag:true}});说明wx:if{{flag}}为真时渲染该节点为假时不渲染。可以配合wx:elif、wx:else使用。wx:if是条件渲染不满足条件时节点不会生成。如果需要节点始终存在只是显示或隐藏可以使用hidden属性。5 关键字动态绑定数据关键字动态绑定数据是指为组件如复选框组件的一些关键字绑定数据。checked关键字如果等于true则代表勾选了此复选框若等于false则代表不勾选。示例代码如下checkboxchecked{{false}}/checkbox注意不要直接写成checkedfalse否则其计算结果是一个字符串转换成boolean类型后代表真值。正确写法checkboxchecked{{false}}/checkbox错误写法checkboxcheckedfalse/checkbox说明在 WXML 中布尔值必须通过{{}}绑定。字符串false转换为布尔值是true。类似关键字还有disabled、hidden、selected等。6 运算可以在{{}}内进行简单的运算小程序支持以下几种运算。1. 三元运算示例代码如下viewhidden{{flag ? true : false}}Hidden/view2. 数学运算示例代码如下index.wxml!--index.wxml--view{{a b}} {{c}} d/viewindex.js// index.jsPage({data:{a:1,b:2,c:3}});view组件中的内容为3 3 d。3. 逻辑判断示例代码如下viewwx:if{{length 5}}/view4. 字符串运算示例代码如下index.wxml!--index.wxml--view{{hello name}}/viewindex.js// index.jsPage({data:{name:MINA}});输出结果为hello MINA。5. 数据路径运算示例代码如下index.wxml!--index.wxml--view{{object.key}} {{array[0]}}/viewindex.js// index.jsPage({data:{object:{key:Hello },array:[MINA]}});输出结果为Hello MINA。运算补充说明{{}}内可以写表达式但不能写语句例如if、for、函数声明。支持、-、*、/、%等算术运算。支持、、、、、、!、!等比较运算。支持、||、!等逻辑运算。支持三元运算、字符串拼接、数组下标、对象属性取值。复杂逻辑建议在 JS 中处理WXML 中只做简单绑定和展示。7 补充事件绑定与数据更新WXML 还可以通过事件系统与 JS 交互。常用事件绑定方式包括bindtap、catchtap等。示例代码如下index.wxmlview{{message}}/viewbuttonbindtaponTap点击更新/buttonindex.jsPage({data:{message:你好微信小程序},onTap(){this.setData({message:数据已更新});}});说明bindtap绑定点击事件。事件处理函数定义在Page()中。通过this.setData()更新数据页面自动刷新。catchtap可以阻止事件冒泡。注意事项{{}}是 WXML 的数据绑定语法不能省略。checkedfalse会被当作字符串必须写成checked{{false}}。wx:if是条件渲染hidden是显示隐藏二者适用场景不同。{{}}内只支持表达式不支持语句。复杂逻辑应放在 JS 中处理WXML 保持简洁。属性绑定建议加引号例如id{{id}}。数据更新必须使用this.setData()。使用 AI 生成 WXML 代码后需要人工检查布尔值、属性绑定和条件渲染是否正确。附AI 提示词模板与完整回答示例原文未包含 AI 提示词模板和回答。以下为便于学习和开发补充的完整模板与完整回答可直接复制使用。模板 1让 AI 解释 WXML 数据绑定与运算提示词模板请详细解释微信小程序 WXML 中的数据绑定和运算。 要求 1. 说明 WXML 的作用 2. 说明数据来自 Page 的 data 3. 说明 {{}} 的用法 4. 分别举例动态文本、组件属性、控制属性、关键字、三元、数学、逻辑、字符串、数据路径 5. 给出完整 WXML 和 JS 代码 6. 说明注意事项。 请用分级标题和代码块输出内容完整。完整回答示例微信小程序 WXML 数据绑定与运算详解一、WXML 的作用WXML 是微信小程序的视图层标签语言用于描述页面结构。它结合基础组件和事件系统构建页面视图。二、数据来源WXML 中的动态数据来自Page()函数中的data对象。Page({data:{message:你好微信小程序}});三、{{}} 的用法在 WXML 中使用双大括号{{}}绑定数据。view{{message}}/view四、完整示例index.wxmlview{{message}}/viewviewid{{id}}组件属性绑定/viewviewwx:if{{flag}}条件渲染显示/viewcheckboxchecked{{checked}}/checkboxviewhidden{{flag ? true : false}}三元运算/viewview{{a b}} {{c}} d/viewviewwx:if{{length 5}}逻辑判断/viewview{{hello name}}/viewview{{object.key}} {{array[0]}}/viewbuttonbindtaponTap点击更新/buttonindex.jsPage({data:{message:你好微信小程序,id:0,flag:true,checked:false,a:1,b:2,c:3,length:10,name:MINA,object:{key:Hello },array:[MINA]},onTap(){this.setData({message:数据已更新});}});五、注意事项{{}}不能省略。checkedfalse是字符串必须写成checked{{false}}。wx:if为假时节点不渲染。{{}}内不能写语句。数据更新使用this.setData()。复杂逻辑放在 JS 中处理。模板 2让 AI 修复 WXML 代码错误提示词模板我在微信小程序 WXML 中遇到以下代码问题请帮我修复并解释修改点。 错误代码 view ({ message }) /view view wx:if((flag))/view checkbox checkedfalse/checkbox view hidden([flag ? true : false))Hidden/view view[(object.keyl) ((array[0]l)/view 相关 JS Page({ data: { message: 你好, flag: true, object: { key: Hello }, array: [MINA] } })完整回答示例修复后的 WXMLview{{message}}/viewviewwx:if{{flag}}/viewcheckboxchecked{{false}}/checkboxviewhidden{{flag ? true : false}}Hidden/viewview{{object.key}} {{array[0]}}/view相关 JSPage({data:{message:你好,flag:true,object:{key:Hello },array:[MINA]}});修改点说明({ message })改为{{message}}正确使用双大括号。wx:if((flag))改为wx:if{{flag}}。checkedfalse改为checked{{false}}否则false是字符串布尔值为真。hidden([flag ? true : false))改为hidden{{flag ? true : false}}。[(object.keyl) ((array[0]l)改为{{object.key}} {{array[0]}}。所有数据绑定都必须使用正确的{{}}语法。布尔值、条件、属性绑定都要通过{{}}处理。