vue之数据请求方式

vue之数据请求方式

1. vue-resource

2.axios

3.fetch-jsonp

一、vue-resource

1. 安装vue-resource

在项目根目录进行安装:cnpm install vue-resource --save

save说明:将此插件名插入到pachage.json文件中,别人在使用时,直接npm install,就会安装package.json里的所配置的软件插件名称了。

2.引入vue-resource

在main.js中引入这个插件,并使用这个插件

import VueResource from 'vue-resource'

#引入插件,VueResource 是别名 ;vue-resource 是我们下载的插件

Vue.use(VueResource );
#使用插件
 

3.使用示例:

<template>
  <div>
    <p>vue-resource方式</p>
    <button @click="getData()">resource</button>
    <hr />
    <ul>
      <li v-for="item in list">
        {{item.title}}
      </li>
    </ul>
  </div>
</template>


<script>
  export default {
    name: "app",
    data() {
      return {
        list:[]
      }
    },
    methods:{
      getData(){
        //请求数据
        var api = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1';
        this.$http.get(api).then(function (response) {
          console.log(response)
          //注意this指向
          this.list = response.body.result;
        },function (err) {
          console.log(err)
        })
      }
    }
  }
</script>

结果:

 

 

二、axios

1.安装axios

在项目根目录进行安装:cnpm install axios --save

2.引入axios

在哪个.vue文件里使用就在哪里引入,例如我在App.vue里使用,就在App.vue里引入,注意要在script标签开始处引入。

import Axios from 'axios';

3.使用示例

<template>
  <div>
    <p>vue-resource方式</p>
    <button @click="getData()">resource</button>
    <hr />
    <ul>
      <li v-for="item in list">
        {{item.title}}
      </li>
    </ul>
  </div>
</template>


<script>
  import Axios from 'axios';

  export default {
    name: "app",
    data() {
      return {
        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((error)=>{
          console.log(error);
        })
      }
    }
  }
</script>

 

 结果:

 

三、fetch-jsonp

1.安装

在项目根目录进行安装:cnpm install fetch-jsonp --save

2.引入

在哪个.vue文件里使用就在哪里引入,例如我在App.vue里使用,就在App.vue里引入,注意要在script标签开始处引入。

3.使用示例

<template>
  <div>
    <p>vue-resource方式</p>
    <button @click="getData()">resource</button>
    <hr />
    <ul>
      <li v-for="item in list">
        {{item.title}}
      </li>
    </ul>
  </div>
</template>


<script>
  import FetchJsonp from 'fetch-jsonp';

  export default {
    name: "app",
    data() {
      return {
        list:[]
      }
    },
    methods:{
      getData(){
        //请求数据
        var api = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1';
        FetchJsonp(api).then((response)=>{
          return response.json()
        }).then((json)=>{
          console.log('parsed json',json)
          this.list = json.result;
        }).catch((ex)=>{
          console.log('parsing failed',ex)
        })
      }
    }
  }
</script>

结果:

 

转载于:https://www.cnblogs.com/zhangjunkang/p/10147357.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值