> 웹 프론트엔드 > View.js > vue.js에서 데이터를 요청하는 방법

vue.js에서 데이터를 요청하는 방법

coldplay.xixi
풀어 주다: 2020-11-12 10:58:46
원래의
2526명이 탐색했습니다.

vue.js에서 데이터를 요청하는 방법: 먼저 [vue-resource] 모듈을 설치한 다음 [main.js]에 [vue-resource]를 도입하고 컴포넌트에서 직접 사용하세요.

vue.js에서 데이터를 요청하는 방법

【관련 기사 추천 : vue.js

vue.js 데이터 요청 방법 :

첫 번째, vue-resource가 데이터를 요청

소개 : vue-resource가 데이터를 요청 이 방법은 공식 플러그인

사용 단계:

1. vue-resource 모듈을 설치합니다

cnpm install vue-resource --save
로그인 후 복사

--save를 추가하여 package.json에서 참조하여 프로덕션 환경에서 사용함을 나타냅니다. 일상적인 개발에서 코드를 다른 사람에게 패키징하거나 github에 업로드하거나 코드를 게시하려는 경우 package.json이 설치에 필요한 패키지이기 때문입니다. 개발환경에서만 사용한다면 --save-dev만 있으면 되는데, 일부는 개발환경에서만 사용하고, 일부는 프로덕션 환경에서 사용합니다.

2. main.js

import VueResource from 'vue-resource';
Vue.use(VueResource);
로그인 후 복사

에 vue-resource를 도입하세요. 3. 컴포넌트에서 직접

this.$http.get(地址).then(function(){
 
})
로그인 후 복사
를 사용하세요

참고: this.$http.get()等等的各种http请求都是继承promise的。promise是异步的请求;其次,.then箭头函数里的this代表的是上下文。根据箭头函数this的定义,只在函数定义时就已经赋值可知,this,指代的是定义函数的对象,在vue中对象就是methods当前页面。所以this指导的是data里面的数据。如果想要获取包裹函数外函数的数据,即闭包的概念。实现方法就是在外层函数加一个var that = this;먼저 외부 this를 저장하세요.

예:

Info.vue

<template>
  <div id="info">
    <button @click="getData">获取数据</button>
    <ul>
      <li v-for="(item,index) in list" v-bind:key="index">
        {{item.title}}
      </li>
    </ul>
  </div>
</template>
 
<script>
  export default {
    name: "Info",
    data() {
      return {
        list: []
      }
    },
    methods: {
      getData: function () {
        let api = &#39;http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1&#39;;
        //此处推荐使用箭头函数。
        this.$http.get(api).then((res)=>{
          this.list = res.body.result;
        }, (err)=>{
          console.log(err);
        });
      }
    },
    mounted() {
      this.getData();
    }
  }
</script>
로그인 후 복사

getData()에서 화살표 기능을 적용할 수 없는 경우 이 문제에 주의해야 합니다.

getData: function () {
  let api = &#39;http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1&#39;;
  const _this = this;
  this.$http.get(api).then(function (res) {
    _this.list = res.body.result;
  }, function (err) {
    console.log(err);
  });
}
로그인 후 복사

두 번째, axios 요청 데이터

소개: 이것은 타사 플러그인 github 주소입니다: https://github.com/axios/axios

axios 및 fetch-jsonp는 모두 타사 플러그입니다. -ins

1 ,

cnpm install axios --save
로그인 후 복사

를 설치하고 직접 전화하세요. vue-resource와의 차이점은 aixos가 해당 페이지에서 사용될 때마다 해당 페이지에서 한 번 호출된다는 것입니다. vue-resource는 전역적으로 바인딩됩니다.

2. axios 사용처 및 도입처

Axios.get(api).then((response)=>{
  this.list=response.data.result;
}).catch((error)=>{
  console.log(error);
})
로그인 후 복사

axios의 도메인 간 요청에 대해

config->index.js->proxyTable에서 다음과 같이 구성합니다. 원하는 대상 주소를 입력하세요

vue.js에서 데이터를 요청하는 방법

다음과 같이 구성하세요. URL은 주소 뒤의 매개변수입니다. 구성한 후 npm run dev를 실행하세요.

vue.js에서 데이터를 요청하는 방법

다중 동시 요청에 관하여:

vue.js에서 데이터를 요청하는 방법

위는 동일한 주소를 가진 크로스 도메인입니다. 다른 주소로 크로스 도메인을 얻으려면 config의 구성만 변경하면 됩니다. ->index.js->proxyTable , 주소 블록만 추가하세요.

셋, fetch-jsonp에 대하여

github 주소 : https://github.com/camsong/fetch-jsonp

1. 설치

cnpm install fetch-jsonp --save
로그인 후 복사

2. fetch-jsonp 사용처 및 도입처

fetchJsonp(&#39;/users.jsonp&#39;)
 .then(function(response) {
  return response.json()
 }).then(function(json) {
  console.log(&#39;parsed json&#39;, json)
 }).catch(function(ex) {
  console.log(&#39;parsing failed&#39;, ex)
 })
로그인 후 복사
.

관련 무료 학습 권장 사항: JavaScript(비디오)

위 내용은 vue.js에서 데이터를 요청하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿