zoukankan      html  css  js  c++  java
  • Vue2.5 旅游项目实例14 城市选择页-动态数据渲染

    创建分支:city-ajax

    拉取到本地并切换分支:

    git pull
    git checkout city-ajax

    然后在City.vue文件中发起axios请求:

    import axios from 'axios'
    export default {
      data () {
        return {
          hotCity: [],
          cities: {}
        }
      },
      created () {
        this.getCityList()
      },
      methods: {
        getCityList () {
          axios.get('/api/city.json').then(this.getCityInfoSucc)
        },
        getCityInfoSucc (res) {
          res = res.data
          console.log(res)
          if (res.ret && res.data) {
            this.hotCity = res.data.hotCities
            this.cities = res.data.cities
          }
        }
      }
    }

    然后把根组件的数组传给子组件:

    <city-list :hotCity="hotCity" :cities="cities"></city-list>
    <city-alphabet :cities="cities"></city-alphabet>

    再到子组件List.vue中接收:

    props: {
        hotCity: Array,
        cities: Object
      },

    开始定义热门城市和字母列表循环:

    <div class="area">
          <div class="title border-topbottom">热门城市</div>
          <div class="button-list">
            <div class="button-wrapper" v-for="item in hotCity" :key="item.id">
              <div class="button">{{item.name}}</div>
            </div>
          </div>
    </div>
    <div class="area" v-for="(item, key) in cities" :key="key">
          <div class="title border-topbottom">{{key}}</div>
          <div class="item-list">
            <div class="item border-bottom" v-for="v in item" :key="v.id">{{v.name}}</div>
          </div>
    </div>

    因为cities是对象,所以循环要用键值key。

    这时候刷新页面,已经可以看到数据渲染出来了。

    然后需要渲染右侧的字母表列表,打开Alphabet.vue文件,编辑代码:

    <template>
    <div class="list">
      <ul>
        <li class="item" v-for="(item, key) in cities" :key="key">{{key}}</li>
      </ul>
    </div>
    </template>
    
    <script>
    export default {
      name: 'CityAlphabet',
      props: {
        cities: Object
      }
    }
    </script>

    此时效果图:

     

    提交代码并合并到master:

    git add .
    git commit -m "城市列表动态数据渲染"
    git push
    
    git checkout master
    git merge city-ajax
    git push
  • 相关阅读:
    Java服务,内存OOM了,如何快速定位?
    Java内存分析工具MAT(Memory Analyzer Tool)安装使用实例
    jmap使用方法及原理
    可能发生Full gc 的情况
    java--jvm GC-常用参数配置
    JVM. GC 性能调优方法与思路
    《嫌疑人X的献身》——两个天才之间的思想火花
    爱的纯粹与代价
    18年下半年计划表
    阿里校招准备-总纲
  • 原文地址:https://www.cnblogs.com/joe235/p/12470717.html
Copyright © 2011-2022 走看看