axios的使用

1.安装

cnpm install axios --save

2.将本地模拟数据放到static文件夹下,因为只有static文件夹中的内容可以被外部访问。
最终创建的文件路径为:static/msg/index.json

3.配置config文件夹下的index.js文件

'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.

const path = require('path')

module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      // webpack-dev-sever提供
      // 请求线上的api端口时,请它转发到本服务器的8080端口上
      '/api': {
        target:'http://localhost:8080',
        // 替换:一旦请求的地址是api开头的,就替换到本地的static的msg文件夹下
        pathRewrite: {
          '^/api': '/static/msg'
        }
      }
    },

4.使用:一般在父组件中发起ajax请求,这样页面中的数据请求一次就行了。

// 父组件

<template>
    <div>
        <city-header></city-header>
        <city-search></city-search>
        <city-list :cities="cities" :hot="hotCities"></city-list>
        <city-alphabet :cities="cities"></city-alphabet>
    </div>
</template>

<script>

// 引入axios

import axios from 'axios';

// 引入子组件

import CityHeader from './components/Header.vue';
import CitySearch from './components/Search.vue';
import CityList from './components/List.vue';
import CityAlphabet from './components/Alphabet.vue';

export default {
    name: 'City',
    components: {
        CityHeader,
        CitySearch,
        CityList,
        CityAlphabet
    },
    data () {
        return {
        	// 声明数据
            cities: {},
            hotCities: []
        }
    },
    methods: {
        getCityInfo () {
        	// 获取json数据,成功后执行函数
            axios.get('/api/city.json').then(this.handleGetCityInfoSucc);
        },
        handleGetCityInfoSucc (res) {
        	// res为获取的结果
            res = res.data;
            // 如果数据成功的返回了,并且有data项
            if(res.ret && res.data) {
                const data = res.data;
                this.cities = data.cities;
                this.hotCities = data.hotCities;
            }
        }
    },
    // 挂载完成后执行获取数据的函数
    mounted () {
        this.getCityInfo();
    }
}
</script>

<style lang="scss" scoped>
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值