微信小程序开发之小程序宿主环境学习

1 宿主环境简介

1.1什么是宿主环境?

宿主环境指的是程序运行所依赖的环境;例如在ios苹果操作系统中不能运行android安卓系统的软件,反之android操作系统也不同运行ios操作系统的软件。因此说明脱离宿主的软件是没有意义的。
软件的宿主环境关系如下图:
在这里插入图片描述

1.2微信小程序的宿主环境

手机微信是小程序的宿主环境,关系如下图:
在这里插入图片描述

1.3 小程序的宿主环境都包含了那些内容

1.3.1 通信模型
(1)通信的主体
小程序中的通信主体是渲染层和逻辑层,其中:
  • wxml模板和wxss样式是渲染层
  • js脚本是逻辑层
    在这里插入图片描述
    (2)小程序的通信模型
    在这里插入图片描述
    小程序的数据模型分为两个部分:
    <1>渲染层与逻辑层之间的通信
    由微信客户端进行转发
    <2>逻辑层与第三方之间的通信
    由微信客户端进行转发
1.3.2 运行机制

(1)小程序启动过程
<1>小程序代码包下载到本地
<2>解析app.json全局配置文件
<3>执行app.js小程序入口文件,调用app()函数创建小程序实例
<4>渲染小程序首页
<5>小程序启动完成
(2)页面渲染的过程
<1>解析页面.json配置文件
<2>加载wxml模板和wxss样式
<3>执行页面的js文件,调用page()函数创建首页实例
<4>页面渲染完成

1.3.3 组件

(1)小程序中组件的分类
小程序中的组件也是宿主环境提供的,开发者可以基于组件快速搭建出自己需要的页面,组件分为九大类:
<1>视图容器
<2>基础内容
<3>表单组件
<4>导航组件
<5>媒体组件
<6>map地图组件
<7>canvas画布组件
<8>开放能力
<9>无障碍访问
(2)常用的视图组件
<1>view

  • 普通视图区域
  • 类似于html中的div,是一个块级元素
  • 常用来实现页面的布局效果

<2>scroll-view

  • 可滚动的视图区域
  • 常用来实现滚动列表效果

<3>swiper和swiper-item

  • 轮播图容器组件和轮播图item组件
    (4)view组件的使用
    实现如图的flex横向布局的效果
    在这里插入图片描述
    在页面.wxml中创建三个view块
 <view class="container1">
<view>1</view>
<view>2</view>
<view>3</view>
</view>

在这里插入图片描述
在wxss样式中设置长宽高;文字对齐方式;设置每个块的颜色;最后在让这三个view横向排列

 .container1 view {
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 100px;
}
.container1 view:nth-child(1){
  background-color: blue;
}
.container1 view:nth-child(2){
  background-color: red;
}
.container1 view:nth-child(3){
  background-color: green;
}
.container1{
  display: flex;
  justify-content: space-around;
}

在这里插入图片描述
(5)scroll-view组件的使用
实现scroll-view纵向滚动效果如图
在这里插入图片描述
在wxml模型中添加:

 <scroll-view class="container1" scroll-y>
<view>1</view>
<view>2</view>
<view>3</view>
</scroll-view>

在这里插入图片描述
在wxss样式中添加:

/* pages/list/list.wxss */
.container1 view {
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 100px;
}

.container1 view:nth-child(1) {
  background-color: blue;
}

.container1 view:nth-child(2) {
  background-color: red;
}

.container1 view:nth-child(3) {
  background-color: green;
}

.container1 {
  border: 1px solid springgreen;
  width: 100px;
  height: 110px;
}

在这里插入图片描述
(6)swiper和swiper-item组件的使用
实现轮播图效果
在页面.wxml模型中写入一下代码

<swiper class="swiper-container1">
  <swiper-item>
    <view class="item">1</view>
  </swiper-item>
  <swiper-item>
    <view class="item">2</view>
  </swiper-item>
  <swiper-item>
    <view class="item">3</view>
  </swiper-item>
</swiper>

在页面.wxss中写以下代码来渲染

/* pages/list/list.wxss */
.swiper-container {
  height: 150px;
}

.item {
  height: 100%;
  line-height: 150px;
  text-align: center;
}

swiper-item:nth-child(1).item {
  background-color: lightblue;
}

swiper-item:nth-child(2).item {
  background-color: red;
}

swiper-item:nth-child(3).item {
  background-color: green;
}

就可以得到轮播图了

相关推荐

  1. 程序学习

    2024-03-22 20:26:02       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 20:26:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 20:26:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 20:26:02       82 阅读
  4. Python语言-面向对象

    2024-03-22 20:26:02       91 阅读

热门阅读

  1. 使用docker搭建docker-osx

    2024-03-22 20:26:02       44 阅读
  2. 蓝桥杯 蓝肽子序列

    2024-03-22 20:26:02       48 阅读
  3. echarts数据下钻如何配置

    2024-03-22 20:26:02       43 阅读
  4. 开灯问题 C语言

    2024-03-22 20:26:02       45 阅读
  5. RabbitMQ如何实现延迟消息?

    2024-03-22 20:26:02       47 阅读
  6. 算法练习第三十天|两道hard51. N 皇后、37. 解数独

    2024-03-22 20:26:02       45 阅读
  7. C语言判断回文数

    2024-03-22 20:26:02       44 阅读
  8. 321——美团一面

    2024-03-22 20:26:02       41 阅读
  9. 【PMP】每日一练2

    2024-03-22 20:26:02       35 阅读
  10. MacOS - GCC 版本升级解决方案

    2024-03-22 20:26:02       42 阅读
  11. 蓝桥杯考试注意事项

    2024-03-22 20:26:02       54 阅读