4. 基本语法


一、项目结构

标准小程序结构:

复制代码
project/
│
├── app.js          全局 JS
├── app.json        全局配置
├── app.wxss        全局样式
│
├── pages/
│   └── index/
│       ├── index.js
│       ├── index.json
│       ├── index.wxml
│       ├── index.wxss

二、四种核心文件类型

类型 作用
.js 页面逻辑
.wxml 页面结构(类似 HTML)
.wxss 页面样式(类似 CSS)
.json 页面配置

三、页面基础写法

1️⃣ JS 页面

js 复制代码
Page({
  data: {
    message: 'Hello'
  },

  onLoad() {
    console.log('页面加载')
  }
})

2️⃣ WXML

xml 复制代码
<view>{{message}}</view>

{``{}} 是数据绑定。


3️⃣ WXSS

css 复制代码
view {
  color: red;
}

四、数据绑定

1️⃣ 显示数据

xml 复制代码
<view>{{name}}</view>
js 复制代码
data: {
  name: 'Tom'
}

2️⃣ 修改数据(必须用 setData)

js 复制代码
this.setData({
  name: 'Jerry'
})

⚠ 不能直接:

js 复制代码
this.data.name = 'Jerry' // 不会更新页面

五、条件渲染

xml 复制代码
<view wx:if="{{isShow}}">显示</view>

或:

xml 复制代码
<view wx:else>不显示</view>

六、列表渲染

xml 复制代码
<view wx:for="{{list}}" wx:key="id">
  {{item.name}}
</view>
js 复制代码
data: {
  list: [
    { id: 1, name: 'A' },
    { id: 2, name: 'B' }
  ]
}

七、事件绑定

xml 复制代码
<button bindtap="handleClick">点我</button>
js 复制代码
handleClick() {
  console.log('点击了')
}

传参数

xml 复制代码
<button bindtap="handleClick" data-id="1">按钮</button>
js 复制代码
handleClick(e) {
  console.log(e.currentTarget.dataset.id)
}

八、页面生命周期

js 复制代码
Page({
  onLoad() {},
  onShow() {},
  onReady() {},
  onHide() {},
  onUnload() {}
})

执行顺序:

复制代码
onLoad → onShow → onReady

九、页面跳转

1️⃣ 普通跳转

js 复制代码
wx.navigateTo({
  url: '/pages/detail/detail'
})

2️⃣ 返回

js 复制代码
wx.navigateBack()

3️⃣ 关闭当前页面跳转

js 复制代码
wx.redirectTo()

十、常用 API

1️⃣ 提示框

js 复制代码
wx.showToast({
  title: '成功'
})

2️⃣ 弹窗

js 复制代码
wx.showModal({
  title: '提示',
  content: '确定吗'
})

3️⃣ 网络请求

js 复制代码
wx.request({
  url: 'https://api.com',
  method: 'GET',
  success(res) {
    console.log(res)
  }
})

十一、Promise 封装(推荐写法)

js 复制代码
const request = (options) => {
  return new Promise((resolve, reject) => {
    wx.request({
      ...options,
      success: resolve,
      fail: reject
    })
  })
}

然后:

js 复制代码
const res = await request({ url: 'xxx' })

十二、组件 Component

js 复制代码
Component({
  properties: {
    title: String
  },

  data: {},

  methods: {
    handleClick() {}
  }
})

十三、全局数据

app.js

js 复制代码
App({
  globalData: {
    userInfo: null
  }
})

页面使用:

js 复制代码
const app = getApp()
console.log(app.globalData.userInfo)

十四、常用语法总结(JS部分)

你已经见过:

  • 解构
  • 默认参数
  • 展开运算符 ...
  • Promise
  • async/await
  • Object.assign

十五、核心理解模型

微信小程序本质是:

复制代码
数据驱动视图

流程:

复制代码
data 改变
↓
setData
↓
视图更新

十六、学习路线建议(结合你后端背景)

你有 3-4 年开发经验,我建议这样学:

第一阶段(3天)

  • 页面结构
  • 数据绑定
  • 事件
  • setData

第二阶段(1周)

  • Promise 封装
  • async/await
  • 封装 request
  • 封装 modal/toast

第三阶段

  • 组件化
  • 分包
  • 状态管理
  • 工程化

相关推荐
m0_5261194016 天前
iconfont我修改好颜色,但是在小程序项目是黑色的
小程序
2601_9567436817 天前
2026 上海小程序开发甄选:源码、云函数、跨端兼容技术评判
小程序·开发经验·上海
IT_张三17 天前
CSDN-项目分享-暑期备考小程序
小程序
IsJunJianXin17 天前
pdd小程序 cdp 保存响应体
linux·服务器·小程序·pdd小程序·拼多多响应体解密·小程序cdp·拼多多rpc取响应体
Geek_Vison17 天前
APP瘦身实战:从80MB+砍到15MB——基于小程序容器技术剥离APP非核心业务的实践分享
小程序·uni-app·mpaas
weikecms17 天前
聚合返利CPS小程序快速搭建教程
人工智能·微信·小程序
Haibakeji18 天前
长沙餐饮门店点餐配送小程序定制开发
大数据·小程序
2501_9159184118 天前
iOS App性能测试工具的实现方法与优化循环指南
android·ios·小程序·https·uni-app·iphone·webview
程序鉴定师18 天前
2026济南十大App制作公司测评(精简版):覆盖小程序、定制开发与跨平台方案
大数据·小程序
斯内普吖18 天前
(开源)高校素拓分管理系统小程序实战指南 基于 Java + SpringBoot + uni-app + Vue + MySQL
java·spring boot·mysql·小程序·uni-app·开源