zoukankan      html  css  js  c++  java
  • 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>

    结果:

  • 相关阅读:
    史上最全的 Python 3 类型转换指南
    Python 3 进阶 —— print 打印和输出
    Go 标准库 —— sync.Mutex 互斥锁
    Python 判断文件/目录是否存在
    测试用例设计——如何提高测试覆盖率
    多语言的测试经验分享
    robotium教材(一):robotium环境搭建
    Android应用开发中出现appcompat-v7错误
    Android CPU使用率:top和dump cpuinfo的不同
    Kernel Time和User Time分别指什么
  • 原文地址:https://www.cnblogs.com/zhangjunkang/p/10147357.html
Copyright © 2011-2022 走看看