Vue implements weather forecast function

Vue implements weather forecast function

This article shares the specific code of Vue to realize the weather forecast function for your reference. The specific content is as follows

1. Functional description

Enter a city in the search box and the weather conditions for today and the next four days will appear below. There are several cities fixed below the search box, and you can click them for quick search.

2. HTML code

 <div id="app">
        <div id="srchbar">
            <input type="text" v-model="city" @keyup.enter="srch(city)" id="ipt">
            <a @click=srch(city) id="btn">search</a>
        </div>
        <nav>
            <a href="#" @click="srch('北京')">Beijing</a>
            <a href="#" @click="srch('上海')">Shanghai</a>
            <a href="#" @click="srch('Guangzhou')">Guangzhou</a>
            <a href="#" @click="srch('深圳')">深圳</a>
        </nav>
        <div id="res">
            <table>
                <tr>
                    <th v-for="item in forecasts">{{item.type}}</th>
                </tr>
                <tr>
                    <td v-for="item in forecasts">{{item.low}}~{{item.high}}</td>
                </tr>
                <tr>
                    <td v-for="item in forecasts">{{item.date}}</td>
                </tr>
            </table>
        </div>
</div>

3.js code

var app = new Vue({
        el: "#app",
        data: {
            city: "",
            forecasts: []
        },
        methods: {
            srch: function (c) {
                var that = this;
                axios.get("http://wthrcdn.etouch.cn/weather_mini?city=" + c).then(function (message) {
                    that.city = c;
                    that.forecasts = message.data.data.forecast;
                })
            }

        }
})

Results

Summarize

The main practice was v-for , v-model , v-on expressions , and using axios to request data through the interface.

During my previous study, I collected a section of js key code about the weather forecast function and shared it with you to learn together.

// Request address: http://wthrcdn.etouch.cn/weather_mini
// Request method: get,
// Request parameter: city (city name)
// Response content: weather information,

// 1. Click Enter // 2. Query data // 3. Render data var app = new Vue({
 el: '#app',
 data: {
  city: '',
  weatherList: [],
 },
 methods: {
  serchWeather: function() {
   // console.log('Weather query');
   // console.log(this.city)
   //Call interface//Save this
   var that = this;
   axios.get('http://wthrcdn.etouch.cn/weather_mini?city=' + this.city)
    .then(function(response) {
     console.log(response.data.data.forecast)
     that.weatherList = response.data.data.forecast
    }).catch(function(err) {})
  },
  changeCity: function(city) {
          //1. Change city //2. Check weather this.city=city;
     this.serchWeather();
  }
 }
})

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Detailed explanation of how to use Vue to load weather components
  • Vue implements a small weather forecast application
  • How to use webSocket to update real-time weather in Vue
  • Vue Getting Started with Weather Forecast

<<:  How to solve the problem of Ubuntu 18.04 looping login/stuck on the boot interface/unable to enter the graphical interface

>>:  Summary of various implementation methods of mysql database backup

Recommend

MySQL query statement grouped by time

MySQL query by year, month, week, day group 1. Qu...

Detailed explanation of Vue router routing

Table of contents 1. Basic use 2. Several points ...

A brief analysis of whether using iframe to call a page will cache the page

Recently, I have a project that requires using ifr...

How to create, start, and stop a Docker container

1. A container is an independently running applic...

VMware, nmap, burpsuite installation tutorial

Table of contents VMware BurpSuite 1. Virtual mac...

How to install redis in docker and set password and connect

Redis is a distributed cache service. Caching is ...

Tutorial on disabling and enabling triggers in MySQL [Recommended]

When using MYSQL, triggers are often used, but so...

How to reset the initial value of the auto-increment column in the MySQL table

How to reset the initial value of the auto-increm...

Vue implements dynamic circular percentage progress bar

Recently, when developing a small program, I enco...

How to quickly modify the table structure of MySQL table

Quickly modify the table structure of a MySQL tab...

A brief discussion on CSS height collapse problem

Performance For example: HTML: <div class=&quo...