vue要求データの3つの方法
データを要求する方式: vue-resource公式提供のvueプラグイン axios fetch-json 一、vue-resource要求データ
紹介:vue-resource要求データ方式は公式に提供されたプラグインです。
使用手順:
1、vue-resourceモジュールの取り付け
2、main.jsでvue-resourceを導入する
例:
Info.vue
紹介:これは第三者のプラグインgithubアドレスです。https://github.com/axios/axios
axiosとfetch-jsopは同じ第三者プラグインです。
1、据え付け
2、どこでaxiosを導入しますか?
config->index.js->proxyTableでは、下記のように配置されています。targetは自分の欲しい住所を記入してください。
以下のように構成されています。urlは住所の後ろにあるパラメータです。配置が整いましたら、npm run devで動作すればいいです。
複数の同時要求について:
上記は同じ住所のクロスドメインです。異なる住所のクロスドメインを取るには、config->index.js->proxyTableの配置を変更するだけで、アドレスブロックを追加すればいいです。
三、fetch-jsonpについて
githubアドレス:https://github.com/camsong/fetch-jsonp
1、据え付け
紹介:vue-resource要求データ方式は公式に提供されたプラグインです。
使用手順:
1、vue-resourceモジュールの取り付け
cnpm install vue-resource --save
加--saveはpackage.jsonに引用するために、生産環境で使用することを表しています。私たちは日常的に開発していますので、コードを他の人に包装したり、githubにアップロードしたり、コードを発表したりする時に、package.jsonは必要なカバンをインストールします。開発環境だけで使うなら、save-devだけが必要です。開発環境だけで使うものがあります。生産環境で使うものがあります。2、main.jsでvue-resourceを導入する
import VueResource from 'vue-resource';
Vue.use(VueResource);
3、セットの中で直接使う
this.$http.get( ).then(function(){
})
注意:this.$http.get()などの各種http依頼は全部promiseのものです。promiseは非同期のお願いです。次に、then矢印関数のthisは文脈を表します。矢印関数thisの定義により、関数の定義だけで値が付けられていることが分かります。thisとは、関数を定義するオブジェクトのことで、vueではオブジェクトがmethods現在のページです。だから、thisが指導しているのはdataの中のデータです。パッケージ関数外関数のデータを取得する場合は、閉じたパッケージの概念です。実現方法は外層関数にvar thatを追加することです。 this外層のthisをthatに保存します。例:
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 = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1';
// 。
this.$http.get(api).then((res)=>{
this.list = res.body.result;
}, (err)=>{
console.log(err);
});
}
},
mounted() {
this.getData();
}
}
</script>
get Data()に矢印関数が適用されていない場合は、thisの問題に注意が必要です。
getData: function () {
let api = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1';
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-jsopは同じ第三者プラグインです。
1、据え付け
cnpm install axios --save
直接呼び出します。vue-resourceとの違いは、aixosは1ページに1回使うごとにページで呼び出します。vue-resourceは全体を結びつけたものです。2、どこでaxiosを導入しますか?
Axios.get(api).then((response)=>{
this.list=response.data.result;
}).catch((error)=>{
console.log(error);
})
axiosに関するクロスドメイン要求config->index.js->proxyTableでは、下記のように配置されています。targetは自分の欲しい住所を記入してください。
以下のように構成されています。urlは住所の後ろにあるパラメータです。配置が整いましたら、npm run devで動作すればいいです。
複数の同時要求について:
上記は同じ住所のクロスドメインです。異なる住所のクロスドメインを取るには、config->index.js->proxyTableの配置を変更するだけで、アドレスブロックを追加すればいいです。
三、fetch-jsonpについて
githubアドレス:https://github.com/camsong/fetch-jsonp
1、据え付け
cnpm install fetch-jsonp --save
2、どこでfetch-jsonを導入しますか?
fetchJsonp('/users.jsonp')
.then(function(response) {
return response.json()
}).then(function(json) {
console.log('parsed json', json)
}).catch(function(ex) {
console.log('parsing failed', ex)
})
ここでvue要求データの3つの方法についての記事を紹介します。もっと関連したvue要求データの内容は以前の文章を検索してください。または次の関連記事を引き続き閲覧してください。これからもよろしくお願いします。