您现在的位置是:首页 >技术交流 >【1 微信小程序学习-核心思想与体验】网站首页技术交流

【1 微信小程序学习-核心思想与体验】

努力修福报 2024-09-05 00:01:04
简介【1 微信小程序学习-核心思想与体验】

1 小程序的核心技术

在这里插入图片描述

.js文件,负责数据处理,函数定义和实现
.wxml文件,组件结构与数据绑定
.wxss文件,组件样式
.json配置信息补充

MVVM架构实现声明式编程

采用MVVM架构,核心是通过数据绑定实现响应式编程(声明式编程).
M:数据处理
V:样式结构
VM:数据绑定和事件监听

vue和小程序Mina框架实际做的的是viewModel部分

在这里插入图片描述

和Vue的对应关系

在这里插入图片描述

2 注册账号 – 申请AppID

接入流程:https://mp.weixin.qq.com/cgi-bin/wx

3 下载小程序开发工具

微信开发者工具下载地址:
 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

4 使用VSCode开发

在这里插入图片描述

5 小程序项目结构

在这里插入图片描述

6 开发体验

1 app.json文件

page字段,所有用到的页面都必须在这个字段进行注册.默认加载pages的第一个页面
在这里插入图片描述

2 新建页面

先建立文件夹,右键新建page,会生成四个文件,并且自动注册page,(json文件编写配置)
在这里插入图片描述
也可以自动创建页面,在page中注册不存在的页面,会自动创建对应页面

3 很多东西都可以直接通过json配置文件来完成,不用写代码

在这里插入图片描述

代码示例

.js文件,负责数据处理,函数定义和实现

// pages/favor/favor.js
// 实例化: 页面实例
//this代表页面实例
Page({
  data: {
    // 1.案例一: 数据绑定 mustache语法
    message: "Hello World",

    // 2.案例二: 列表数据
    movies: ["少年派", "大话西游", "星际穿越", "独行月球"],

    // 3.案例三: 计数器
    counter: 0
  },

  // 监听的事件方法,计数加减的函数
  increment() {
    console.log("+1");
    // 修改data中的数据, 但是你的修改并不会引起页面的刷新(自动检测你的新数据重新渲染页面, 在小程序中不会, 在react中也不会,vue会)
    // this.data.counter += 1
    // console.log(this.data.counter);

    // 修改data, 并且希望页面重新渲染, 这里必须使用this.setData()
    this.setData({
      counter: this.data.counter + 1
    })
  },
  decrement() {
    console.log("-1");
    this.setData({
      counter: this.data.counter - 1
    })
  }
})

.wxml文件,组件结构与数据绑定

<!--pages/favor/favor.wxml-->
<!-- 1.显示普通的文本 -->
<text class="title">我是普通的文本</text>

<!-- 2.动态绑定message属性,动态绑定的数据都要使用 -->
<view class="message">{{ message }}</view>

<!-- 3.动态展示列表数据 -->
<view class="movies">
  <!-- for循环: block类似temtemplatea ,会默认创建item,和index,*this代表item自身作为key-->
  <block wx:for="{{movies}}" wx:key="*this">
    <view>
      {{ item }}-{{ index }}
    </view>
  </block>
</view>


<!-- 4.事件绑定: 计数器案例 bindtap点击事件绑定 -->
<view class="counter">
  <view class="count">当前计数: {{ counter }}</view>
  <button size="mini" type="primary" bindtap="increment">+1</button>
  <button size="mini" type="warn" bindtap="decrement">-1</button>
</view>

.wxss文件,组件样式

/* pages/favor/favor.wxss */
.title {
  font-size: 20px;
  color: red;
}

.message {
  font-size: 30px;
  font-weight: 700;
  color: green;
}

.counter {
  text-align: center;
}

.count {
  margin-top: 30px;
  font-size: 20px;
  font-weight: 700;
  color: orange;
}

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。