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

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

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


最后,看一个简单的案例,代码清单 2-55 即为 wxml 文件中的代码。


代码清单 2-55


<canvastype="2d"id="myCanvas"></canvas>

代码清单 2-56 即为 wxss 文件中的代码。


代码清单 2-56


canvas{
width:100%;
height:800rpx;
border:1pxsolidred;
}

代码清单 2-57 即为 JavaScript 文件中的代码。运行结果如图 2-48 所示。


代码清单 2-57


Page({
onReady() {
constquery=wx.createSelectorQuery()
query.select('#myCanvas')
      .fields({ node: true, size: true })
      .exec((res) => {
constcanvas=res[0].nodeconstctx=canvas.getContext('2d')
constdpr=wx.getSystemInfoSync().pixelRatiocanvas.width=res[0].width*dprcanvas.height=res[0].height*dprctx.scale(dpr, dpr)
//画圆ctx.beginPath()
ctx.arc(150, 50, 10, 0, 2*Math.PI)
ctx.fillStyle="blue"ctx.fill()
ctx.closePath()
//画直线ctx.beginPath()
ctx.fillStyle="red"ctx.moveTo(50, 130)
ctx.lineTo(250, 130)
ctx.stroke()
//画矩形ctx.beginPath()
ctx.fillStyle="orange"ctx.fillRect(100, 200, 100, 100)
ctx.closePath()
      })
  }
})


接下来,解释上述代码中的相关方法。


从基础库 2.9.0 起,微信小程序支持一套新的 Canvas 2D 接口, 需要指定 type 属性,我们应通过 createSelectorQuery()方法返回一个 SelectorQuery 对象实例。


SelectorQuery.select()方法会在当前页面下选择第一个匹配选择 器(selector)的节点,并返回一个 NodesRef 对象实例,用于获取节 点信息。


NodesRef.fields()方法可以获取节点的相关信息,需要获取的字 段应在 fields 中指定,其返回值是 nodesRef 对应的 selectorQuery。 关于 fields 字段的信息,请参考表 2-16。


image.png


image.png


SelectorQuery.exec()方法会执行所有的请求,并将结果按请求次序构成数组作为回调函数的 第一个参数返回。

相关文章
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
3748 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
4000 1
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
3467 11
技术小白如何利用DeepSeek半小时开发微信小程序?
|
11月前
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
11月前
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
13257 14
|
JSON 缓存 小程序
微信小程序组件封装与复用:提升开发效率
本文深入探讨了微信小程序的组件封装与复用,涵盖组件的意义、创建步骤、属性与事件处理,并通过自定义弹窗组件的案例详细说明。组件封装能提高代码复用性、开发效率和可维护性,确保UI一致性。掌握这些技能有助于构建更高质量的小程序。
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
小程序 前端开发 开发者
小程序的页面如何布局?
【10月更文挑战第16天】小程序的页面如何布局?
1091 1
|
人工智能 小程序 算法
微信小程序地图定位的核心技术与实际应用详解
在移动互联网时代,微信小程序凭借其轻量化和普及性,成为室内地图导航的理想平台。本文探讨了微信小程序在室内定位领域的创新应用,包括蓝牙iBeacon定位、高精度地图构建及AI路径规划等核心技术,及其在购物中心、医院、机场火车站和景区等场景的应用,展示了其为用户带来的高效、智能的导航体验。
878 0