• 10.请求数据


    在vue中,有三种常用的数据请求方式:

    /*
    三种数据请求方式
    vue-resource
    axios
    fetch-jsonp
    */

    1.vue-resource

    1.安装vue-resource

    cnpm install vue-resource --save

    2.在src/main.js中引用

    import VueResource from 'vue-resource';
    Vue.use(VueResource)

     3.在组件中使用home.vue

    <template>
        <div>
            <h2>这是一个首页组件</h2>
            <button @click="getData()">请求数据</button>
            <hr>
            <br>
            <ul>
              <li v-for="(item,index) in list" :key="index">{{item.title}}</li>
            </ul>
        </div>
    </template>
    <script>
    /*
    三种数据请求方式
    vue-resource
    axios
    fetch-jsonp
    */
    export default {
      name: 'home',  
      data () {
        return {
            msg:'首页组件',
            list:[]
        }
      },
      methods:{
        getData(){
          // 请求数据
          var api='http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1'
          var _self=this
          this.$http.get(api).then(
            function (response) {
              console.log(response)
              _self.list=response.data.result
            },
            function(err){
              console.log(err)
            }
          )
        }
      },
      components:{
      }
    
    }
    </script>
    <style lang="scss" scoped>
    h2{
        color: red;
    }
    </style>

     

    2.axios

    1.安装axios

    cnpm install axios --save

     2.在组件中引入

    使用箭头函数,不用担心this的指向

    <template>
        <div>
            <h2>这是一个首页组件</h2>
            <button @click="getData()">请求数据</button>
            <hr>
            <br>
            <ul>
              <li v-for="(item,index) in list" :key="index">{{item.title}}</li>
            </ul>
        </div>
    </template>
    <script>
    import Axios from 'axios';
    export default {
      name: 'home',  
      data () {
        return {
            msg:'首页组件',
            list:[]
        }
      },
      methods:{
        getData(){
          // 请求数据
          var api='http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1'
          Axios.get(api).then((response)=>{console.log(response);this.list=response.data.result}).catch((err)=>{console.log(err)})
        }
      },
      components:{
      }
    
    }
    </script>
    <style lang="scss" scoped>
    h2{
        color: red;
    }
    </style>

     3.fetch-jsonp

    使用方法与axios相同

  • 相关阅读:
    Python中读取文件中的json串,并将其写入到Excel表格中
    Python中替换敏感字
    Python写一个批量生成账号的函数
    解决MySQL不允许远程连接的问题
    Jenkins安装与配置
    Jmeter监听tomcat
    onlyoffice document docker版安装使用总结
    onlyoffice-DocumentServer 的权限验证
    docker 部署es
    docker部署graylog使用教程
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/11621141.html
Copyright © 2020-2023  润新知