zoukankan      html  css  js  c++  java
  • vue天气查询

    天气查询包括回车查询和点击查询两种功能

    回车查询

    1.按下回车(v-on+.enter)

    2.查询数据(axios+接口+v-model)

    3.渲染数据(v-for+arr)

    点击查询

    1.点击城市查询(v-on+自定义参数)

    2.查询数据(this.)

    3.渲染数据(this.)

    <template>
      <div id="app">
        <div>
          <div id="one">
            <input type="text" v-model="city" placeholder="请输入需要查询城市名" @keyup.enter="search" /><button @click="search">搜索</button>
          </div>
          <div id="two">
            <a href="javascript:;" @click="change('北京')">北京</a>
            <a href="javascript:;" @click="change('上海')">上海</a>
            <a href="javascript:;" @click="change('广州')">广州</a>
            <a href="javascript:;" @click="change('深圳')">深圳</a>
          </div>
          <ul id="three">
            <li v-for="value in wList">
              <div>
                <span>{{value.type}}</span>
              </div>
              <div>
                <b>{{value.low}}</b>
                ~
                <b>{{value.high}}</b>
              </div>
              <div>
                <span>{{value.date}}</span>
              </div>
            </li>
          </ul>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      name: "App",
      data: () => {
        return {
          city: "",
          wList: []
        };
      },
      methods: {
        search: function() {
          console.log(this.city);
          var that = this;
          this.$axios({
            url: "http://wthrcdn.etouch.cn/weather_mini?city=" + this.city,
            methods: "get"
          })
            .then(function(response) {
              // console.log(response.data.data.forecast)
              that.wList = response.data.data.forecast;
            })
            .catch(function(err) {});
        },
        change: function(city) {
          this.city = city;
          // methods中定义的方法内部,可以通过this关键字调用其他的方法
          this.search();
        }
      },
      created: function() {}
    };
    </script>
    
    <style>
    #app {
      font-family: "Avenir", Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-align: center;
      color: #2c3e50;
      margin-top: 60px;
    }
    
    ul,
    li {
      list-style: none;
      padding: 0;
    }
    #app>div{
       900px;
      margin: 0 auto;
    }
    #one{
      text-align: left;
      margin-left: 150px;
    }
    #one input{
       400px;
      height: 30px;
      border: 2px solid #ccc;
    }
    #one button{
       80px;
      height: 35px;
      background-color: #0af;
      border: 0;
    }
    #two{
      text-align: left;
      margin-bottom: 40px;
      margin-left: 155px;
      margin-top: 5px;
    }
    #two a{
      color: rgb(102, 99, 99);
      text-decoration: none;
      font-size: 14px;
    }
    #three li{
      float: left;
      border-right: 2px solid #ccc;
      padding: 6px;
    }
    #three li:first-child{
      padding-left:0; 
    }
    #three li:last-child{
      border: 0
    }
    li div{
      margin: 10px 0;
    }
    li div:first-child span{
      font-size: 20px;
      color: #ef7000;
      font-weight: bold;
    }
    li div:first-child{
      margin-top: 0
    }
    li div:last-child span{
      font-size: 14px;
      color: #999;
    }
    li div:last-child {
      margin-bottom: 0
    }
    </style>
  • 相关阅读:
    Spring-Boot:多种配置注入方式
    Spring-Boot:Profile简单示例
    Spring-Boot:拦截器注解范例
    Docker:镜像的迁移
    YARN的内存和CPU配置
    Spark On YARN内存分配
    Spark配置参数
    linux_密钥
    分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
    PythonDay01
  • 原文地址:https://www.cnblogs.com/yieix/p/12247721.html
Copyright © 2011-2022 走看看