此内容根据文章生成,仅用于文章内容的解释与总结
作为开发者,最讨厌的事情莫过于多平台适配,在手机端由于大家型号不同,编个 APP 通过蓝牙控制显然是不方便的,于是做了一个蓝牙小程序来与 ESP32 通信。
界面设计
这里我想设计成方块按键的格式,所以创建一个矩阵,然后在矩阵对应的位置添加上按钮。非常的简单,只是有一些差异需要注意。
WXML 标签
蓝牙小程序标签与 HTML 略有不同,以下是小程序标签(即 WXML 标签)与 HTML 略有不同的标签的对比表:
| wxml标签 | HTML 标签 | 描述 |
|---|---|---|
<view> | <div> | 用于容器和布局,类似于 HTML 中的 <div>。 |
<text> | <span> | 用于文本显示,类似于 HTML 中的 <span>。 |
<button> | <button> | 用于创建按钮,与 HTML 中的 <button> 功能相同。 |
<image> | <img> | 用于显示图片,类似于 HTML 中的 <img>,但属性有所不同。 |
<navigator> | <a> | 用于页面导航,类似于 HTML 中的 <a> 标签。 |
<picker> | N/A | 用于多种选择器,HTML 中无直接对应的标签。 |
<scroll-view> | N/A | 用于可滚动的视图区域,HTML 中无直接对应的标签。 |
<swiper> | N/A | 用于滑动视图容器,HTML 中无直接对应的标签。 |
<map> | <iframe> | 用于展示地图,类似于 HTML 中嵌入地图的方式。 |
<swiper-item> | N/A | 与 <swiper> 配合使用,HTML 中无直接对应的标签。 |
<rich-text> | N/A | 用于展示富文本,HTML 中无直接对应的标签。 |
<block> | N/A | 无实际渲染效果,类似于 HTML 中的 <template>。 |
JavaScript
以下是微信小程序的 JavaScript 与网页的 JavaScript 的对比表格:
| 特性/功能 | 微信小程序 JS | 网页 JS | 描述 |
|---|---|---|---|
| 全局对象 | wx | window | 微信小程序中使用 wx 对象来调用特定的 API,而在网页 JS 中,所有的全局对象都挂载在 window 对象下。 |
| API 调用 | 基于 wx 对象提供的 API,如 wx.request()、wx.navigateTo() | 使用浏览器提供的 API,如 fetch()、window.location | 微信小程序有一套独立的 API,专门用于微信环境下的开发,无法直接使用标准的浏览器 API。 |
| 页面与组件管理 | 通过小程序的 Page 和 Component 函数定义页面和组件 | 通过 HTML 文件和 JavaScript 结合使用前端框架或直接操作 DOM | 微信小程序使用特殊的 Page 和 Component 函数来定义页面和组件,网页 JS 则通过 DOM 结合 JavaScript 实现页面和组件管理。 |
| 数据绑定 | 使用 this.setData() 进行数据绑定和更新 | 通常使用 innerHTML、textContent 或前端框架(如 React 的 setState) | 微信小程序使用 this.setData() 来绑定和更新数据,而在网页 JS 中,常通过直接操作 DOM 或使用前端框架来更新数据。 |
| 生命周期函数 | 提供页面与组件的生命周期函数,如 onLoad、onShow | 通过事件绑定或框架提供的生命周期函数(如 React 的 componentDidMount) | 微信小程序有特定的生命周期函数供开发者使用,而网页 JS 通常需要结合框架或事件来处理生命周期管理。 |
| 路由与导航 | 使用 wx.navigateTo()、wx.redirectTo() 等方法进行页面跳转 |