vuejs小例子之天气查询

看一个例子:

<html>

<head>
  <script src="https://unpkg.com/axios/dist/axios.min.js">script>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
head>

<body>
  <div id="app">
    <input type="text" v-model="city" @keyup.enter="getWeathers">
    <button @click="getWeathers">查询button>
    <br>
    <br>
    <a href="#" @click="changeCity('北京')">北京a>
    <a href="#" @click="changeCity('武汉')">武汉a>
    <a href="#" @click="changeCity('上海')">上海a>
    <a href="#" @click="changeCity('深圳')">深圳a>
    <ul>
      <li v-for="(item, index) in weathers">
        {{item.type}} {{item.low}} {{item.high}} {{item.date}}
      li>
    ul>
  div>
  <script>
    var vue = new Vue({
      el: "#app",
      data: {
        city: '',
        weathers: [],
      },
      methods: {
        getWeathers: function () {
          var that = this
          axios.get('http://wthrcdn.etouch.cn/weather_mini?city=' + this.city)
            .then(function (response) {
              that.weathers = response.data.data.forecast;
            }, function (err) {

            })
        },
        changeCity: function (city) {
          this.city = city;
          this.getWeathers();
        },
      },
    })
  script>
body>

html>

效果:

在输入框中输入城市,例如武汉,回车或者点击按钮查询:

vuejs小例子之天气查询_第1张图片

会显示相关信息。

点击下面的四个城市:

vuejs小例子之天气查询_第2张图片

也会显示相关信息。

说明:使用v-model,v-on点击事件,v-on回车事件,v-for遍历数据,axios发送请求。

你可能感兴趣的:(vuejs小例子之天气查询)