微信小程序案例2——天气微信小程序(学会绑定数据)

news/2025/2/9 6:37:49 标签: 微信小程序, 小程序

文章目录

  • 一、项目步骤
      • 1 创建一个无AppID的weather项目
      • 2 进入index.wxml、index.js、index.wxss文件,清空所有内容,进入App.json,修改导航栏标题为“中国天气网”。
      • 3进入index.wxml,进行当天天气情况的界面布局,包括温度、最低温、最高温、天气情况、城市、星期、风行情况,代码如下。
      • 4进入index.js,在data里提供天气的数据,让这些数据在界面里显示出来,代码如下。
      • 5进入index.wxml,将data里提供的天气数据绑定到页面里,代码如下。
      • 6进入index.wxss,将index.wxml添加样式,美化页面,代码如下。
      • 效果
  • 讲解
    • 1 WXML 数据绑定


一、项目步骤

1 创建一个无AppID的weather项目

2 进入index.wxml、index.js、index.wxss文件,清空所有内容,进入App.json,修改导航栏标题为“中国天气网”。

app.json

{
  "pages":[
    "pages/index/index"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "中国天气网",
    "navigationBarTextStyle":"black"
  }
}

3进入index.wxml,进行当天天气情况的界面布局,包括温度、最低温、最高温、天气情况、城市、星期、风行情况,代码如下。

<view class="content">
   <view class="today">
      <view class="info">
            <view class="temp"></view>
            <view class="lowhigh"></view>
            <view class="type"></view>
            <view class="city"></view>
            <view class="week"></view>
            <view class="weather">  </view>
      </view>
   </view>
</view>

4进入index.js,在data里提供天气的数据,让这些数据在界面里显示出来,代码如下。

Page({
    data:{
       temp:"4",
       low:"-1℃",
       high:"10℃",
       type:"晴",
       city:"北京",
       week:"星期二",
       weather:"无持续风行 微风级"
    }
})

5进入index.wxml,将data里提供的天气数据绑定到页面里,代码如下。

<view class="content">
   <view class="today">
      <view class="info">
            <view class="temp">{{temp}}℃</view>
            <view class="lowhigh">{{low}}/{{high}}</view>
            <view class="type">{{type}}</view>
            <view class="city">{{city}}</view>
            <view class="week">{{week}}</view>
            <view class="weather"> {{weather}} </view>
      </view>
   </view>
</view>

6进入index.wxss,将index.wxml添加样式,美化页面,代码如下。

.content{
    font-family : 微软雅黑,宋体;
    font-size: 14px;
    background-size:cover;  
    height: 100%;
    width:100%;
    color:#333333;
}
.today{
    padding-top:70rpx;
    height:50%;
}
.temp{
    font-size:80px;
    text-align: center;
}
.city{
    font-size: 20px;
    text-align: center;
    margin-top:20rpx;
    margin-right: 10rpx;
}
.lowhigh{
    font-size: 12px;
    text-align: center;
    margin-top: 30rpx;
}
.type{
    font-size: 16px;
    text-align: center;
    margin-top: 30rpx;
}
.week{
    font-size: 12px;
    text-align: center;
    margin-top: 30rpx;
}

效果

讲解

index.wxss
background-size:100% 100%;—按容器比例撑满,图片变形;
background-size:cover;—把背景图片放大到适合元素容器的尺寸,图片比例不变,但是要注意,超出容器的部分可能会裁掉。

1 WXML 数据绑定

通过数据绑定来实现页面的动态更新
WXML页面里的动态数据都是来自js文件Page的data,数据绑定就是通过双大括号({{}})将变
量包起来,在WXML页面里将数据值显示出来。

 <!--index.wxml-->
 <view>{{message}}</view>
// index.js
Page({
  data:{
    message:'hello,world'
  }
})

组件属性绑定
组件属性绑定是将data里的数据绑定到小程序>微信小程序的组件上,示例代码如下。

 <!--index.wxml-->
 <view id="item-{{id}}">hello,world</view>
// index.js
Page({
  data:{
    id:0
  }
})

控制属性绑定
控制属性绑定用来进行if语句条件判断,如果满足条件,则执行,否则不执行,示例代码
如下。

<!--index.wxml-->
 <view wx:if="condition">hello,world</view>
// index.js
Page({
  data:{
    condition:false
  }
})

关键字绑定
关键字绑定常用于组件的一些关键字,像复选框组件一样。checked关键字如果等于true则代表
选中复选框,false则代表不选中复选框,示例代码如下。

 <!--index.wxml-->
 <checkbox checked="{{false}}"></checkbox>

运算

三元运算

 <!--index.wxml-->
<view hidden="{{flag? true : false}}">hidden1</view>
// index.js
Page({
  data:{
    flag:false
  }
})

flag为false,显示内容。

在这里插入图片描述


http://www.niftyadmin.cn/n/5845726.html

相关文章

阿里云专有云网络架构学习

阿里云专有云网络架构 叶脊&#xff08;spine-leaf&#xff09;网络和传统三层网络拓扑对比 阿里云网络架构V3拓扑角色介绍推荐设备设备组网举例带外管理网络带外网和带内网对比设备介绍 安全网络设备介绍 参考 后续更新流量分析叶脊&#xff08;spine-leaf&#xff09;网络和传…

淘宝分类详情数据获取:Python爬虫的高效实现

在电商领域&#xff0c;淘宝作为中国最大的电商平台之一&#xff0c;其分类详情数据对于市场分析、竞争对手研究以及电商运营优化具有不可估量的价值。通过Python爬虫技术&#xff0c;我们可以高效地获取这些数据&#xff0c;为电商从业者提供强大的数据支持。 一、为什么选择…

深入理解C#结构型设计模式:类适配器与对象适配器

一、设计模式的基本概念 设计模式是软件开发过程中针对反复出现的问题总结出来的通用解决方案。结构型设计模式主要关注如何将类或对象进行组合&#xff0c;以实现新的功能或满足特定的需求。适配器模式就是结构型设计模式中的一种&#xff0c;它允许将一个类的接口转换成客户…

1.6 学习测试用例(Test)分为几步?

文章目录 前言一、什么是UVM中的测试用例&#xff08;Test&#xff09;&#xff1f;二、如何理解UVM中的测试用例&#xff1f;三、如何使用UVM中的测试用例&#xff1f;四、实操代码示例4.1代码结构4.2 代码实现4.2.1 a. 测试用例类的定义和实现4.2.2 b. 测试环境的构建和配置4…

论文阅读--LlaVA

数据 使用GPT-4&#xff0c;根据现有的图片对数据&#xff08;image-pair data&#xff09;收集指令跟随数据。作者团队收集了158,000个独特的语言-图像指令遵循样本&#xff0c;其中包括58,000个对话样本、23,000个详细描述样本和77,000个复杂推理样本 以图像描述为例&#x…

【4】思科 SD-WAN 的控制平面

1. 概述 在 SD-WAN 架构中,控制平面(Control Plane)负责管理数据平面的流量转发决策,并确保网络设备能够高效地进行路径选择和策略执行。思科 SD-WAN 的控制平面主要由 vSmart 控制器 组成,它负责维护全网的路由、策略和安全控制。 控制平面与数据平面分离,使得网络可以…

基于logback+fastjson实现日志脱敏

一、需求背景 日常工作中&#xff0c;必不可免的会将一些敏感信息&#xff0c;如用户名、密码、手机号、身份证号、银行账号等等打印出来&#xff0c;但往往为了安全&#xff0c;这些信息都需要进行脱敏。脱敏实际就是用一些特殊字符来替换部分值。 JSON 和 JSONObject Fastj…

nodejs - vue 视频切片上传,本地正常,线上环境导致磁盘爆满bug

nodejs 视频切片上传&#xff0c;本地正常&#xff0c;线上环境导致磁盘爆满bug 原因&#xff1a; 然后在每隔一分钟执行du -sh ls &#xff0c;发现文件变得越来越大&#xff0c;即文件下的mp4文件越来越大 最后导致磁盘直接爆满 排查原因 1、尝试将m3u8文件夹下的所有视…