进阶初学:微信小程序核心语法与配置实战DAY02

在上一篇我们搭建了小程序基础,这篇将带你深入WXML 模板、WXSS 样式、全局 / 页面配置和网络请求,让你能写出更灵活、美观的小程序。

一、WXML 模板语法:让页面 "活" 起来

WXML 是小程序的页面结构语言,通过模板语法实现动态渲染,核心是条件渲染和列表渲染。

1. 条件渲染:控制元素显示 / 隐藏

  • wx:if 系列:条件满足时才渲染节点,不满足时会从 DOM 中移除
wxml 复制代码
<view wx:if="{{score >= 90}}">优秀</view>
<view wx:elif="{{score >= 60}}">及格</view>
<view wx:else>不及格</view>
  • hidden属性:通过 CSS 控制显示 / 隐藏,节点始终存在于 DOM 中
wxml 复制代码
<view hidden="{{!isLogin}}">请先登录</view>

区别:频繁切换显示用hidden,只在少数情况显示用wx:if,性能更优。

2. 列表渲染:循环展示数据

  • wx:for:遍历数组,重复渲染节点
  • wx:key:指定唯一标识,提升列表渲染性能(必填)
wxml 复制代码
<view wx:for="{{list}}" wx:key="id">
  <text>第{{index+1}}项:{{item.name}}</text>
</view>
javascript 复制代码
Page({
  data: {
    list: [
      {id: 1, name: '小程序学习'},
      {id: 2, name: '样式美化'},
      {id: 3, name: '网络请求'}
    ]
  }
})

二、WXSS 样式:适配多端的页面美化

WXSS 是小程序的样式语言,基于 CSS 扩展,核心解决多端适配和样式复用问题。

1. 核心单位:rpx

  • rpx(响应式像素):自动适配不同屏幕宽度,750rpx = 屏幕宽度
  • 示例:在 375px 宽的手机上,1rpx = 0.5px;在 414px 宽的手机上,1rpx ≈ 0.552px
wxss 复制代码
.box {
  width: 375rpx; /* 永远占屏幕一半宽度 */
  height: 200rpx;
  margin: 0 auto;
}

2. 样式导入与作用域

  • @import 导入:复用公共样式
wxss 复制代码
/* 在页面wxss中导入公共样式 */
@import '/styles/common.wxss';
  • 全局样式 vs 局部样式:
    • app.wxss:全局样式,作用于所有页面
    • 页面.wxss:局部样式,仅作用于当前页面
    • 就近原则:局部样式优先级高于全局样式,同名样式会覆盖全局

三、全局配置:app.json 掌控小程序整体

app.json 是小程序的全局配置文件,决定了小程序的页面结构、导航栏、底部 Tab 等。

1. 核心配置项

  • pages:页面路径数组,第一个元素是首页
json 复制代码
"pages": [
  "pages/index/index",
  "pages/mine/mine",
  "pages/logs/logs"
]
  • window:全局窗口样式(导航栏、状态栏等)
json 复制代码
"window": {
  "navigationBarTitleText": "我的小程序",
  "navigationBarBackgroundColor": "#1677ff",
  "backgroundColor": "#f5f5f5"
}
  • tabBar:底部导航栏(最多 5 个 Tab)
json 复制代码
"tabBar": {
  "list": [
    {
      "pagePath": "pages/index/index",
      "text": "首页",
      "iconPath": "images/home.png",
      "selectedIconPath": "images/home-active.png"
    },
    {
      "pagePath": "pages/mine/mine",
      "text": "我的",
      "iconPath": "images/mine.png",
      "selectedIconPath": "images/mine-active.png"
    }
  ]
}
  • style:指定样式版本,推荐"v2"(新版样式)

四、页面配置:page.json 个性化定制

每个页面都可以有自己的.json配置文件,用于单独设置页面样式,遵循就近原则:页面配置会覆盖全局app.json的同名配置。

json 复制代码
// pages/mine/mine.json
{
  "navigationBarTitleText": "个人中心",
  "enablePullDownRefresh": true, // 开启下拉刷新
  "backgroundColor": "#ffffff"
}

就近原则:页面配置优先级 > 全局配置,方便对单个页面做特殊定制。

五、网络请求:获取后端数据

小程序通过wx.request()发起网络请求,通常在页面生命周期onLoad()中调用,用于加载初始数据。

1. 基础用法

js 复制代码
Page({
  onLoad() {
    // 页面加载时发起请求
    wx.request({
      url: 'https://api.example.com/data', // 接口地址
      method: 'GET', // 请求方法
      success: (res) => {
        console.log('请求成功', res.data);
        this.setData({
          list: res.data // 将返回数据绑定到页面
        });
      },
      fail: (err) => {
        console.error('请求失败', err);
      }
    });
  }
})

2. 注意事项

  • 域名必须在微信公众平台提前配置为合法域名
  • 开发阶段可在开发者工具中勾选「不校验合法域名」方便调试
  • 支持GET/POST等请求方法,可通过data传递参数
相关推荐
2601_952013762 小时前
2024仿东郊微端家政预约上门小程序【亲测可用】家政管理系统抢单派单开源源码
小程序
CHU7290353 小时前
随时随地学新知——线上网课教学小程序前端功能详解
前端·小程序
职豚求职小程序4 小时前
京东26春招笔试题库宝藏小程序刷题yyds!
小程序
游戏开发爱好者84 小时前
如何使用Instruments和Keymob进行Swift应用性能优化分析
开发语言·ios·性能优化·小程序·uni-app·iphone·swift
2501_916008894 小时前
移动应用上架到应用商店的完整指南:原理与详细步骤
android·ios·小程序·https·uni-app·iphone·webview
云起SAAS5 小时前
素材库微商品牌产品花店图文视频素材库抖音快手微信小程序看广告流量主开源
微信小程序·小程序·ai编程·看广告变现轻·素材库微商品牌产品花店图文视频
开心就好13145205 小时前
uniapp微信小程序webview嵌套H5页面分享笔记
笔记·微信小程序·uni-app
源码ym7k资源5 小时前
家政服务小程序维修保洁美容美甲上门预约派单技师saas全开源app+h5+小程序-源码ym7K
小程序
2601_952013765 小时前
新麦同城到家预约上门服务系统小程序SAAS账号
小程序