JS 框架 词条目录
前端Wiki/词条/小程序开发

小程序开发

定义微信、支付宝等平台提供的运行在宿主 App 内的轻应用,WXML/WXSS 加双线程架构是其底层特征

小程序的代码跑在两个线程里:视图层是各平台自研的渲染环境,逻辑层是独立的 JS 引擎,两者通过 JSBridge 通信。语法上像 HTML/CSS/JS 的方言——标签是 view、text、image,样式类 CSS 但选择器受限,JS 里没有 DOM/BOM,一切操作走数据绑定与 setData。

开发时最需要适应的是 setData 的异步与开销:每次都跨线程序列化数据,高频调用会卡顿,所以要把多次合并、只传变化的字段。此外各平台语法互不兼容,跨端可借助 Taro、uni-app 这类编译型框架,但都会牺牲一部分平台原生能力。

JavaScript
// 小程序的数据驱动写法(微信小程序示意)
// index.js
Page({
  data: { count: 0, list: [] },
  onTap: function () {
    // 错误写法:this.data.count++; 视图不会更新
    // 正确写法:用 setData 传变化的字段,框架比对后渲染
    this.setData({ count: this.data.count + 1 });
  },
  onLoad: function () {
    var that = this;
    wx.request({
      url: 'https://api.example.com/list',
      success: function (res) { that.setData({ list: res.data }); }
    });
  }
});
// index.wxml:<view bindtap="onTap">{{count}}</view>
// 列表:<view wx:for="{{list}}" wx:key="id">{{item.name}}</view>
⚠ 常见误区
🔗 相关词条模板语法组件通信
← 返回来源章节组件通信