微信小程序案例2-2:本地生活

这篇具有很好参考价值的文章主要介绍了微信小程序案例2-2:本地生活。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、运行效果

  • 轮播图区域与九宫格区域
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

二、知识储备

(一)swiper与swiper-item组件

1、swiper组件

(1)功能描述
  • 滑块视图容器。其中只可放置swiper-item组件,否则会导致未定义的行为。
(2)属性说明
属性 类型 默认值 必填 说明 最低版本
indicator-dots boolean false 是否显示面板指示点 1.0.0
indicator-color color rgba(0, 0, 0, .3) 指示点颜色 1.1.0
indicator-active-color color #000000 当前选中的指示点颜色 1.1.0
autoplay boolean false 是否自动切换 1.0.0
current number 当前所在滑块的index,默认为0 1.0.0
interval number 5000 自动切换时间间隔 1.0.0
circular boolean false 是否采用衔接滑动 1.0.0

2、swiper-item组件

(1)功能描述
  • 仅可放置在swiper组件中,宽高自动设置为100%。
(2)属性说明
属性 类型 默认值 必填 说明 最低版本
item-id string 该 swiper-item 的标识符 1.9.0
skip-hidden-item-layout boolean false 是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息 1.9.0

3、基本语法

  • swiper组件通过<swiper>标签定义,swiper-item组件通过<swiper-item>标签定义。
<swiper>
	<swiper-item>1</swiper-item>
	<swiper-item>2</swiper-item>
 	<swiper-item>3</swiper-item>
</swiper>
  • swiper组件为外层容器,内层有3个swiper-item组件,表示当前滑块视图内容一共有3项。滑块视图内容在初始状态下只显示第1项,向左滑动显示第2项,再向右滑动可以返回第1项。

4、案例演示

  • 页面结构示例代码
<swiper class="swiper-container" current="2" indicator-dots="true" indicator-color="yellow" indicator-active-color="red" autoplay="true" interval="3000" circular="true">
    <swiper-item class="item">1</swiper-item>
    <swiper-item class="item">2</swiper-item>
    <swiper-item class="item">3</swiper-item>
</swiper>
  • 页面样式示例代码
.swiper-container {
    height: 100px;
    background-color: thistle;
}

.item {
    line-height: 100px;
    align-content: center;
    font-size: xx-large;       
}
  • 预览效果
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

(二)text组件

  • 在HTML中,一般通过<span>标签定义行内文本,而在微信小程序中,则可以通过text组件定义行内文本。需要注意的是,text组件内部只能嵌套text组件。

1、常用属性

属性 类型 说明
user-select boolean 文本是否可选,该属性会使文本节点显示为 inline-block
space string 显示连续空格,可选参数为ensp(中文字符空格一半大小)、emsp(中文字符空格大小)和nbsp(根据字体设置的空格大小)
decode boolean 是否解码

2、案例演示

  • 使用user-select属性实现长按选中文本的效果
<text user-select="true">欢迎使用微信小程序</text>
  • 手指长按前
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
  • 手指长按后
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
  • 使用鼠标模拟手指长按文本之后的选中效果,此处通过长按选中了“程序”文本。如果在微信客户端运行的小程序中长按文本,会出现“复制”选项,可以实现长按复制文本的效果。

(三)Flex布局

  • 目标:掌握Flex布局的使用方法,能够使用Flex布局的相关属性完成页面布局

1、什么是Flex布局

  • 在微信小程序中可以使用Flex布局实现自适应页面。Flex布局又称为弹性盒(Flexible Box)布局,它为盒子模型提供了很强的灵活性,任何一个容器都可以指定为Flex布局。

2、基本概念

(1)Flex容器
  • 采用Flex布局的元素,称为Flex容器(简称容器)。
(2)Flex项目
  • Flex容器的所有子元素自动成为容器成员,称为Flex项目(简称项目)。
(3)轴
  • Flex容器内有两根轴:主轴(Main Axis)和交叉轴(Cross Axis),默认情况下主轴为水平方向,交叉轴为垂直方向,项目默认沿主轴排列。
  • 若想使用Flex布局,首先要设置父元素的display属性为flex,表示将父元素设置为容器,然后就可以使用容器和项目的相关属性了。

3、容器常用属性

属性 说明
flex-direction 决定主轴的方向(即项目的排列方向),默认值为row,即主轴为从左到右的水平方向,项目按照主轴方向排列
flex-wrap 规定是否允许项目换行,默认值为nowrap,即不换行
flex-flow flex-direction和flex-wrap的组合属性,默认值为row nowrap
justify-content 定义了项目在主轴上的对齐方式,默认值为flex-start,即项目在主轴方向上,与主轴起始位置对齐
align-items 定义项目在交叉轴上的对齐方式,默认值为normal(等同于stretch),即如果项目没有设置固定的大小,则会被拉伸填充满交叉轴方向剩余的空间
align-content 只适用多行的容器,定义项目在交叉轴上的对齐方式,默认值为normal(等同于stretch),即交叉轴方向剩余的空间平均分配到每一行,并且行的高度会拉伸,填满整行的空间

4、项目常用属性

属性 说明
order 定义项目的排列顺序,按从小到大排列,默认值为0
flex-grow 定义项目的放大比例,默认值为0,即如果存在剩余空间,该项目也不放大
flex-shrink 定义项目的缩小比例,默认值为1,即如果空间不足,该项目将缩小
flex-basis 定义在分配多余空间之前,项目占据的主轴空间,默认值为auto
flex flex-grow、flex-shrink和flex-basis的组合属性,默认值为0 1 auto
align-self 允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果父元素没有设置align-items属性,则等同于normal和stretch

5、flex-direction属性

  • flex-direction属性用于设置主轴方向,通过设置主轴方向可以规定项目的排列方向,它有以下4个常用的可选值。
属性 说明
row 默认值,主轴为从左到右的水平方向
row-reverse 主轴为从右到左的水平方向
column 主轴为从上到下的垂直方向
column-reverse 主轴为从下到上的垂直方向
  • 页面结构示例代码
<view class="demo">
    <view>中国</view>
    <view>四川</view>
    <view>泸州</view>
</view>
  • 页面样式示例代码
.demo {
    display: flex;
    flex-direction: column-reverse;
}
  • 预览效果
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

6、 justify-content属性

  • justify-content属性用于设置项目在主轴方向上的对齐方式,能够分配项目之间及其周围多余的空间,它有以下5个常用的可选值。
属性 说明
flex-start 默认值,表示项目对齐到主轴起点,项目间不留空隙。
flex-end 项目对齐到主轴终点,项目间不留空隙。
center 项目在主轴上居中排列,项目间不留空隙。主轴上第一个项目离主轴起点的距离等于最后一个项目离主轴终点的距离。
space-between 两端对齐,两端的项目分别靠向容器的两端,其他项目之间的间隔相等。
space-around 每个项目之间的距离相等,第一个项目离主轴起点和最后一个项目离终点的距离为中间项目间距的一半。
  • 页面结构示例代码
<view class="demo">
    <view>中国</view>
    <view>四川</view>
    <view>泸州</view>
</view>
  • 页面样式示例代码
.demo {
    background-color: silver;
    display: flex;   
    justify-content: space-between;
}
  • 预览效果
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

7、align-items属性

  • align-items属性用于设置项目在交叉轴上的对齐方式,它有以下6个常用的可选值。
属性 说明
normal 默认值,等同于stretch。
stretch 未设置项目大小时将项目拉伸,填充满交叉轴方向剩余的空间。
flex-start 项目顶部与交叉轴起点对齐。
flex-end 项目底部与交叉轴终点对齐。
center 项目在交叉轴的中间位置对齐。
baseline 项目的第一行文字的基线对齐。
  • 页面结构示例代码
<view class="demo">
    <view>中国</view> 
    <view>四川</view>
    <view>泸州</view>
</view>
  • 页面样式示例代码
.demo {
    background-color: silver;
    display: flex;   
    justify-content: space-between;    
    height: 100px;
    align-items: center;
}
  • 预览效果
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

三、实现步骤

(一)创建项目

  • 项目名称:本地生活

  • 模板选择:不使用模板
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

  • 单击【确定】按钮
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格文章来源地址https://www.toymoban.com/news/detail-771063.html

(二)创建页面

  • app.json里配置pages/grid/grid页面,手动删除index目录,设置导航栏
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

(三)准备图片素材

  • 在项目根目录创建images目录,拷贝项目所需图片素材
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

(四)编写页面结构

1、编写轮播区域页面结构

  • 轮播图有指示点面板,自动轮播,时间间隔3000毫秒
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
<!--pages/grid/grid.wxml-->
<!--轮播图区域-->
<swiper indicator-dots="true" indicator-color="blue" indicator-active-color="red" autoplay="true" circular="true" interval="3000">
    <swiper-item>
        <view class="item">
            <image src="/images/swiper01.png" mode="aspectFill" style="width: 100%; height: 100%;" />
        </view>
    </swiper-item>
    <swiper-item>
        <view class="item">
            <image src="/images/swiper02.png" mode="aspectFill" style="width: 100%; height: 100%;" />
        </view>
    </swiper-item>
    <swiper-item>
        <view class="item">
            <image src="/images/swiper03.png" mode="aspectFill" style="width: 100%; height: 100%;" />
        </view>
    </swiper-item>
</swiper>
  • 预览效果(看不见图片,可以看见指示点在循环)
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

2、编写九宫格区域页面结构

  • view组件里嵌套9个view组件
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
<!--九宫格区域-->
<view class="grids">
    <view class="grid-item">
        <image src="/images/food.png" />
        <text>美食</text>
    </view>
    <view class="grid-item">
        <image src="/images/fitup.png" />
        <text>装修</text>
    </view>
    <view class="grid-item">
        <image src="/images/bath.png" />
        <text>洗浴</text>
    </view>
    <view class="grid-item">
        <image src="/images/car.png" />
        <text>汽车</text>
    </view>
    <view class="grid-item">
        <image src="/images/sing.png" />
        <text>唱歌</text>
    </view>
    <view class="grid-item">
        <image src="/images/house.png" />
        <text>住宿</text>
    </view>
    <view class="grid-item">
        <image src="/images/study.png" />
        <text>学习</text>
    </view>
    <view class="grid-item">
        <image src="/images/work.png" />
        <text>工作</text>
    </view>
    <view class="grid-item">
        <image src="/images/marry.png" />
        <text>结婚</text>
    </view>
</view>
  • 预览效果(显然不是我们想要的结果)
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

(五)编写页面样式

1、编写轮播图区域页面样式

  • 设置swiper容器高度:350rpx,设置图片容器的高度和宽度
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
/* pages/grid/grid.wxss */
.item {
    width: 100%;
    height: 100%; 
}
  • 预览效果
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

2、编写九宫格区域页面样式

  • 整体页面样式
.grids {
    display: flex;
    flex-wrap: wrap; /* 自动绕行 */
}
  • 每个格子页面样式
.grids .grid-item {
    width: 250rpx; /* 750 ÷ 3 = 250 */
    height: 250rpx;
    border-right: 1rpx solid #eee;
    border-bottom: 1rpx solid #eee;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* 清除第3个格子的右边框 */
.grids .grid-item:nth-child(3) {
    border-right: 0;
}
/* 清除第6个格子的右边框 */
.grids .grid-item:nth-child(6) {
    border-right: 0;
}
/* 清除第9个格子的右边框 */
.grids .grid-item:nth-child(9) {
    border-right: 0;
}
  • 每个格子中的图片和文字的页面样式
/* 每个格子内的图片样式 */
.grids .grid-item image {
    width: 90rpx;
    height: 90rpx;
}
/* 每个格子内的文本样式 */
.grids .grid-item text {
    color: #999;
    font-size: 35rpx;
    margin-top: 20rpx;
}

(六)查看模拟机效果

  • 查看轮播图和九宫格
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
  • 真机调试 - 二维码真机调试
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
  • 扫码
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格
  • 手机截屏
    本地生活案例九宫格为什么不显示,微信小程序,微信小程序,生活,轮播,九宫格

到了这里,关于微信小程序案例2-2:本地生活的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 黑马微信小程序-实现本地服务九宫格并展示商品列表

    1.1准备接口 黑马接口:https://applet-base-api-t.itheima.net/categories 说明:这是获取九宫格的数据接口 1.2使用接口  说明:声明变量获取数据。  res.data数据 编写简单css 实图展示      声明query变量  并设置导航标题 标题展示      2.1准备接口 商品列表接口:https://applet-base-api-t

    2024年02月11日
    浏览(45)
  • 微信小程序本地生活(列表页面)

    一、实现效果 二、实现步骤 主要实现功能: 页面导航并传参 上拉触底时加载下一页数据 下拉刷新列表数据 实现步骤 创建列表页面 动态设置页面标题 定义数据,发起请求获取数据 渲染数据并美化样式 实现上拉加载数据效果 对上拉触底进行节流处理 上拉触底请求数据前,

    2024年02月09日
    浏览(53)
  • 微信小程序:11.本地生活小程序制作

    开发工具: 微信开发者工具 apifox进行创先Mock 新建小程序项目 输入ID 选择不使用云开发,js传统模版 在project.private.config中setting配置项中配置checkinalidKey:false 因为该项目有三个tabbar所以我们要创建三个页面 首页 消息 联系我们 使用阿里矢量图标库下载图片放入,image进行使

    2024年04月27日
    浏览(27)
  • 微信小程序:实现微信小程序应用首页开发 (本地生活首页)

    小程序应用页面开发 1、创建项目并配置项目目录结构 创建项目我相信大家都会,不会的可以csdn搜索即可 这里我们需要对项目目录进行修改配置 在 app.json 文件中的 pages 数组中添加三个页面,如上图所示,然后我们将其他默认的两个进行删除,然后左侧目录 pages 文件夹中的

    2024年02月19日
    浏览(39)
  • 微信公众平台(3):微信小程序发布为什么需要https证书

    微信小程序一定要用https的理由,小程序使用HTTPS链接分析 一、HTTPS HTTPS是HTTP的安全版,在 HTTP的基础上加入SSL证书 (服务器证书)后形成的安全协议 ,不但可以建立信息加密通过保障数据传输的安全,还能 认证服务器的真实性 , 防止“钓鱼”网站 。每个微信小程序都需要先

    2024年02月12日
    浏览(40)
  • 微信小程序多图列表页面性能问题为什么会出现?如何解决?

    微信小程序中的多图列表页面性能问题主要是由于以下几个原因导致的: 图片过大:在多图列表页面中,如果图片过大,会导致页面加载时间过长,从而影响用户体验。 请求过多:在多图列表页面中,如果一次请求加载过多的图片,会导致请求次数过多,从而影响页面加载

    2024年03月25日
    浏览(45)
  • 为什么我的微信小程序开发工具调试窗口一片空白?

    解决方案 先卸载现在版本,更新了一下微信小程序开发工具就好啦! 如果消息显示调试器加载错误,从任务栏打开工具可能导致该问题,那么就从桌面上打开,就能看见调试器中的内容了。

    2024年02月11日
    浏览(72)
  • 微信小程序 通过setData 给两个变量设置同一个数组时,为什么修改一个变量,另一个会也被修改?

    在微信小程序中,使用 setData 方法更新数据时,如果给两个变量设置同一个数组,修改其中一个变量的值会导致另一个变量也被修改的原因是,数组是引用类型的数据,在内存中的存储方式是按引用地址存储。 当你将一个数组赋值给两个变量时,实际上两个变量共享同一块内

    2024年02月11日
    浏览(35)
  • 微信小程序——抽奖之九宫格

        1. 需要通过接口去获取奖品列表 (awardList) 2.绘制灯 实现闪烁的效果 3.设置奖品 的位置与设置圆点位置的原理一样  奖品可以用图片代替 (根据需求来设置) 4. 点击抽奖按钮时  判断抽奖状态,如果不在抽奖状态中,则执行抽奖旋转动画 5. 调用接口获取奖品的id (可

    2024年02月02日
    浏览(42)
  • 微信小程序九宫格布局,轮播图

    在微信小程序中,可以使用 view 标签来实现九宫格布局。具体步骤如下: 在wxml文件中,使用 lt;view 标签设置一个容器。例如: 使用CSS样式来设置 grid-container 类的样式,使其成为九宫格布局。例如: 在 view 标签中放置具体内容。例如,线上教育小程序的九宫格布局页面代码

    2024年01月16日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包