IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 微信小程序开发01 -> 正文阅读

[移动开发]微信小程序开发01

时间:2022-3-16

框架

整个小程序框架系统分为两部分:逻辑层(App Service)和 视图层(View)。小程序提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。在这里插入图片描述

视图层 View

框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。

将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。

WXML(WeiXin Markup language) 用于描述页面的结构。

WXS(WeiXin Script) 是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。

WXSS(WeiXin Style Sheet) 用于描述页面的样式。

组件(Component)是视图的基本组成单元。

项目框架

json

JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色。

app.json

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。

在这里插入图片描述

pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。

window字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义

工具配置 project.config.json

个性化配置

页面配置 page.json

用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置。

如果你整个小程序的风格是蓝色调,那么你可以在 app.json 里边声明顶部颜色是蓝色即可。实际情况可能不是这样,可能你小程序里边的每个页面都有不一样的色调来区分不同功能模块,因此我们提供了 page.json,让开发者可以独立定义每个页面的一些属性,例如刚刚说的顶部颜色、是否允许下拉刷新等等

WXML 模板

WXML 充当的就是类似 HTML 的角色。

MVVM 的开发模式(例如 React, Vue)提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOM,JS 只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。

小程序的框架也是用到了这个思路,如果需要把一个 Hello World 的字符串显示在界面上。

WXML 是这么写 :

<text>{{msg}}</text>

JS 只需要管理状态即可:

this.setData({ msg: "Hello World" })

通过 {{ }} 的语法把一个变量绑定到界面上称为数据绑定。仅仅通过数据绑定还不够完整的描述状态和界面的关系,还需要 if/else, for等控制能力,在小程序里边,这些控制能力都用 wx: 开头的属性来表达

JS 逻辑交互

电影网页开发

页面配置初探

在about,josn 中配置页面的基本信息

{
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTitleText": "关于",
  "navigationBarTextStyle": "black"
}

在这里插入图片描述

弹性盒子布局

.container{
  background-color: #eee;
  height: 100vh;


  /* 弹性盒子布局 */
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
 
}

app.json

{
	页面路径
  "pages": [
    "pages/weekly/weekly","pages/about/about"
  ],
  "sitemapLocation": "sitemap.json",

底部标签栏
  "tabBar":{
  标签列表
    "list":[
      {
        "text":"每周推荐",
        "pagePath":"pages/weekly/weekly",
        "iconPath":"images/icon/weekly.png",
        "selectedIconPath":"images/icon/weekly_selected.png"
      },
      {
        "text":"关于",
        "pagePath":"pages/about/about",
        "iconPath":"images/icon/my.png",
        "selectedIconPath":"images/icon/my_selected.png"
      }
    ],
    标签属性
    "color": "#000000",
    "selectedColor": "#00f"
  },

全局页面配置
  "window": {
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "电影周周看"
  }
}

数据绑定

想要达到实时更新weekly…

在weekly页面的js文件下:

Page({
  data:{
    // 数据包
    thisWeekMovies:{
      name:"教父",
      comment:"最精彩的电影",
      imagePath:"/images/R-C.jpg"
    },
    // 访问次数
    count:123
  }
})

thisWeekMovies 是一个跟页面绑定的内部状态变量

把数据渲染到视图层

在weekly.xwml文件中,通过{{}}来绑定数据

<!-- 数据绑定 -->
  <view>访问次数{{count}}</view>

数据绑定支持:

  1. 算术运算
  2. 三元表达式
 <!-- 数据绑定 -->
  <view>访问次数{{(score>=60)?"及格":"不及格"}}</view>
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:02:21  更:2022-03-21 21:06:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 20:00:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码