微信小程序开发知识点

入门阶段

  • 基础知识学习

    • 了解微信小程序:熟悉微信小程序的概念、特点、优势以及应用场景。

    • 开发工具与语言:掌握微信开发者工具的使用,了解小程序开发所涉及的编程语言,包括JavaScript、WXML(描述页面结构)、WXSS(设置页面样式)和JSON(配置页面属性)。

    • 1. WXML(描述页面结构)
      WXML 是微信小程序的标记语言,用于描述页面的结构,类似于 HTML。
      示例代码:
      xml
      复制
      <!-- pages/index/index.wxml -->
      <view class="container">
        <text class="title">欢迎来到我的小程序</text>
        <button bindtap="onTap">点击我</button>
        <view wx:for="{{list}}" wx:key="index">
          <text>{{item}}</text>
        </view>
      </view>
      说明:
      <view> 是一个容器组件,类似于 HTML 中的 <div>。
      <text> 用于显示文本内容。
      bindtap 是绑定点击事件的属性,当按钮被点击时,会调用 onTap 方法。
      wx:for 是用于循环渲染列表的指令,wx:key 是循环渲染时的唯一标识。
      2. WXSS(设置页面样式)
      WXSS 是微信小程序的样式表语言,用于设置页面的样式,类似于 CSS。
      示例代码:
      css
      复制
      /* pages/index/index.wxss */
      .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px;
      }
      
      .title {
        font-size: 24px;
        color: #333;
      }
      
      button {
        margin-top: 20px;
        padding: 10px 20px;
        background-color: #007AFF;
        color: white;
      }
      说明:
      .container 是一个样式类,用于设置容器的布局和内边距。
      .title 设置文本的字体大小和颜色。
      button 设置按钮的样式,包括背景颜色、文字颜色等。
      3. JavaScript(编写逻辑代码)
      JavaScript 是微信小程序的逻辑层代码,用于处理页面的交互逻辑。
      示例代码:
      JavaScript
      复制
      // pages/index/index.js
      Page({
        data: {
          list: ['苹果', '香蕉', '橙子']
        },
        onTap: function () {
          wx.showToast({
            title: '按钮被点击了',
            icon: 'success',
            duration: 2000
          });
        }
      });
      说明:
      Page 是小程序页面的构造器,用于定义页面的逻辑。
      data 是页面的数据对象,用于存储页面的数据。
      onTap 是一个事件处理函数,当按钮被点击时,会调用 wx.showToast 方法显示一个提示框。
      4. JSON(配置页面属性)
      JSON 文件用于配置页面的属性,例如页面的导航栏标题、是否启用下拉刷新等。
      示例代码:
      JSON
      复制
      {
        "navigationBarTitleText": "首页",
        "navigationBarBackgroundColor": "#ffffff",
        "navigationBarTextStyle": "black",
        "enablePullDownRefresh": true
      }
      说明:
      navigationBarTitleText 设置导航栏的标题文本。
      navigationBarBackgroundColor 设置导航栏的背景颜色。
      navigationBarTextStyle 设置导航栏文字的颜色。
      enablePullDownRefresh 设置是否启用下拉刷新功能。

  • 开发流程学习

    • 创建项目:在微信开发者工具中创建新的小程序项目,填写项目名称、AppID等信息。

    • 编写代码:使用JavaScript编写逻辑层代码,用WXML定义页面布局,结合WXSS进行样式设计。

    • 调试与预览:利用开发者工具的模拟器和真机调试功能,实时查看效果并进行调优。

    • 1. 创建项目
      步骤:
      打开微信开发者工具(可以从微信官网下载)。
      点击“新建项目”。
      填写项目名称(例如:MyMiniProgram),选择项目目录。
      输入AppID(如果没有,可以使用测试号)。
      选择小程序模板(可以选择“空白模板”开始)。
      点击“创建项目”。
      2. 编写代码
      2.1 WXML(页面布局)
      在pages/index/index.wxml文件中,定义页面的结构:
      xml
      复制
      <view class="container">
        <text class="title">欢迎来到我的小程序</text>
        <button bindtap="onTap">点击我</button>
        <view wx:for="{{list}}" wx:key="index">
          <text>{{item}}</text>
        </view>
      </view>
      2.2 WXSS(页面样式)
      在pages/index/index.wxss文件中,设置页面的样式:
      css
      复制
      .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px;
      }
      
      .title {
        font-size: 24px;
        color: #333;
      }
      
      button {
        margin-top: 20px;
        padding: 10px 20px;
        background-color: #007AFF;
        color: white;
      }
      2.3 JavaScript(逻辑代码)
      在pages/index/index.js文件中,编写页面的逻辑:
      JavaScript
      复制
      Page({
        data: {
          list: ['苹果', '香蕉', '橙子'] // 列表数据
        },
        onTap: function () {
          // 点击按钮时触发
          wx.showToast({
            title: '按钮被点击了',
            icon: 'success',
            duration: 2000
          });
        }
      });
      2.4 JSON(页面配置)
      在pages/index/index.json文件中,配置页面属性:
      JSON
      复制
      {
        "navigationBarTitleText": "首页",
        "navigationBarBackgroundColor": "#ffffff",
        "navigationBarTextStyle": "black",
        "enablePullDownRefresh": true
      }
      3. 调试与预览
      3.1 模拟器调试
      在微信开发者工具中,点击“编译”按钮(绿色三角形)。
      页面会在模拟器中自动加载。
      你可以通过模拟器查看页面效果,点击按钮测试功能。
      3.2 真机调试
      确保你的手机已连接到电脑,并且安装了微信开发者工具的调试助手。
      在开发者工具中,点击“真机调试”按钮。
      扫描二维码,将小程序加载到手机上。
      在手机上查看效果,并测试功能。
      完整项目结构
      以下是完整的项目文件结构:
      复制
      MyMiniProgram/
      ├── pages/
      │   ├── index/
      │   │   ├── index.wxml
      │   │   ├── index.wxss
      │   │   ├── index.js
      │   │   └── index.json
      ├── app.js
      ├── app.json
      ├── app.wxss

  • 简单功能实现

    • 页面跳转:使用wx.navigateTo()等API实现页面跳转。

    • 数据请求:通过wx.request()发起网络请求,获取数据。

    • 本地存储:使用wx.setStorageSync()wx.getStorageSync()等方法存储和获取本地数据。

 

1. 页面跳转
示例代码
在pages/index/index.js中,添加一个按钮点击事件,用于跳转到另一个页面(假设目标页面是pages/detail/detail):
JavaScript
复制
// pages/index/index.js
Page({
  goToDetail: function () {
    wx.navigateTo({
      url: '/pages/detail/detail' // 目标页面路径
    });
  }
});
在pages/index/index.wxml中,添加一个按钮并绑定点击事件:
xml
复制
<view class="container">
  <button bindtap="goToDetail">跳转到详情页</button>
</view>
在pages/detail/detail.js中,定义目标页面:
JavaScript
复制
// pages/detail/detail.js
Page({
  onLoad: function (options) {
    console.log('详情页加载');
  }
});
在pages/detail/detail.wxml中,添加简单内容:
xml
复制
<view class="container">
  <text>这是详情页</text>
</view>
在pages/detail/detail.wxss中,添加样式(可选):
css
复制
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
在pages/detail/detail.json中,配置页面属性:
JSON
复制
{
  "navigationBarTitleText": "详情页"
}
2. 数据请求
示例代码
在pages/index/index.js中,使用wx.request发起网络请求:
JavaScript
复制
// pages/index/index.js
Page({
  data: {
    users: [] // 用于存储请求到的数据
  },
  onLoad: function () {
    this.fetchData();
  },
  fetchData: function () {
    wx.request({
      url: 'https://api.example.com/users', // 替换为实际的API地址
      method: 'GET',
      success: (res) => {
        if (res.statusCode === 200) {
          this.setData({
            users: res.data // 假设返回的数据是用户列表
          });
        } else {
          wx.showToast({
            title: '请求失败',
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.showToast({
          title: '请求错误',
          icon: 'none'
        });
      }
    });
  }
});
在pages/index/index.wxml中,显示请求到的数据:
xml
复制
<view class="container">
  <text>用户列表:</text>
  <view wx:for="{{users}}" wx:key="id">
    <text>{{item.name}} - {{item.age}}</text>
  </view>
</view>
3. 本地存储
示例代码
在pages/index/index.js中,使用wx.setStorageSync和wx.getStorageSync操作本地存储:
JavaScript
复制
// pages/index/index.js
Page({
  data: {
    username: '' // 用于存储从本地存储中读取的用户名
  },
  onLoad: function () {
    this.loadUsername();
  },
  saveUsername: function () {
    const username = 'Kimi'; // 假设要存储的用户名
    try {
      wx.setStorageSync('username', username);
      wx.showToast({
        title: '用户名已保存',
        icon: 'success'
      });
    } catch (e) {
      wx.showToast({
        title: '保存失败',
        icon: 'none'
      });
    }
  },
  loadUsername: function () {
    try {
      const username = wx.getStorageSync('username');
      this.setData({
        username: username || '未设置用户名'
      });
    } catch (e) {
      wx.showToast({
        title: '读取失败',
        icon: 'none'
      });
    }
  }
});
在pages/index/index.wxml中,显示用户名并添加按钮用于保存用户名:
xml
复制
<view class="container">
  <text>当前用户名:{{username}}</text>
  <button bindtap="saveUsername">保存用户名</button>
</view>
完整项目结构
以下是完整的项目文件结构:
复制
MyMiniProgram/
├── pages/
│   ├── index/
│   │   ├── index.wxml
│   │   ├── index.wxss
│   │   ├── index.js
│   │   └── index.json
│   ├── detail/
│   │   ├── detail.wxml
│   │   ├── detail.wxss
│   │   ├── detail.js
│   │   └── detail.json
├── app.js
├── app.json
├── app.wxss
运行效果
页面跳转:
在首页点击“跳转到详情页”按钮,页面会跳转到详情页。
数据请求:
页面加载时,会从API获取用户数据并显示在页面上。
本地存储:
点击“保存用户名”按钮,用户名会被保存到本地存储。
页面加载时,会从本地存储读取用户名并显示。

进阶阶段

  • 深入学习知识点

    • 小程序框架:了解小程序的框架结构,包括页面结构、组件结构等。

    • 生命周期:掌握小程序的生命周期,包括启动阶段、运行阶段和销毁阶段,以及页面生命周期和组件生命周期。

    • 自定义组件:学习如何创建和使用自定义组件,包括注册组件、定义组件数据和方法、使用properties传递数据、使用slot实现组件的插槽功能以及组件样式隔离等。

  • 功能拓展实践

    • 界面交互:实现如loading加载提示框、模拟对话框等界面交互效果。

    • 数据处理:实现上拉加载更多数据、下拉刷新数据等功能。

    • 本地存储应用:在实际项目中灵活运用本地存储,提升用户体验。

高级阶段

  • 高级知识点学习

    • 性能优化:学习小程序性能优化的技巧,包括代码优化、资源优化、减少内存泄漏等。

    • 小程序原理及框架剖析:深入了解小程序的底层架构原理,如框架的运行机制、数据绑定原理等。

    • 多端开发框架:了解并尝试使用基于Vue、React等框架的小程序开发工具,如uni-app、Taro等。

  • 复杂功能实现与项目优化

    • 复杂交互设计:实现更复杂的用户交互,如手势解锁、动画效果等。

    • 项目优化:对大型项目进行模块化设计,优化代码结构,提升项目的可维护性和可扩展性。

    • 多端适配:使用多端开发框架,实现小程序在不同平台上的适配。

实践项目建议

  • 从简单到复杂:可以先从简单的项目开始,如一个简单的待办事项列表小程序,逐步增加功能和复杂度。

  • 参考开源项目:学习和参考一些开源的小程序项目,了解不同的开发思路和代码风格。

  • 参与真实项目:如果有机会,参与真实的小程序开发项目,积累实际开发经验。

学习资源推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值