从热电偶到加速度计:搞懂传感器信号类型,是选单端还是差分接线的第一步
2026/5/1 17:53:31
微信小程序的框架分为**视图层(View)和逻辑层(App Service)**两部分。其中,逻辑层负责处理业务逻辑、数据处理和事件响应,是小程序的核心“大脑”。
逻辑层的作用:
setData发送给视图层更新界面。与普通 JavaScript 的区别:
window、document)。App()和Page()方法:用于注册小程序和页面。getApp()和getCurrentPages():获取全局实例和页面栈。wx.request、wx.login、wx.pay等)。在app.js中使用App()注册,整个小程序只有一个 App 实例,全页面共享。
// app.jsApp({onLaunch(options){// 小程序启动时触发(只触发一次)console.log('小程序启动',options);},onShow(options){// 从后台进入前台时触发},onHide(){// 从前台进入后台时触发},globalData:{// 全局数据,所有页面可通过 getApp() 访问userInfo:null}});获取全局实例:
constapp=getApp();console.log(app.globalData);每个页面在自己的.js文件中使用Page()注册。
// pages/index/index.jsPage({data:{// 页面初始数据(会绑定到视图层)message:'Hello World',list:[1,2,3]},onLoad(options){// 页面加载时触发},onReady(){// 页面初次渲染完成},onShow(){// 页面显示},onHide(){// 页面隐藏},onUnload(){// 页面卸载},handleTap(e){// 事件处理函数(视图层绑定 bindtap="handleTap")this.setData({message:'Clicked!'});}});this.setData({ key: value })更新数据,视图层自动刷新。wx.request({url:'https://api.example.com/data',success(res){this.setData({list:res.data});}});事件处理:视图层通过bindtap、bindinput等绑定事件,逻辑层处理用户交互。
模块化:可以将公共逻辑导出为模块。
// utils/util.jsmodule.exports={formatTime:function(time){...}};// 在页面中使用constutil=require('../../utils/util.js');如果你的问题是关于微信小程序中具体某个部分的业务逻辑(如登录、支付、列表渲染等),或者有代码片段需要解释/优化,请提供更多细节,我可以给出针对性的示例!