Fork me on GitHub

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>

效果:

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

会显示相关信息。

点击下面的四个城市:

也会显示相关信息。

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

posted @ 2020-02-18 11:47  西西嘛呦  阅读(275)  评论(0编辑  收藏  举报