最近手頭有個(gè)小項(xiàng)目,打算用vue練個(gè)手,期間用到了vue的插件:vue-resource。下面是我使用這個(gè)插件的一些經(jīng)驗(yàn),算是給自己寫的一個(gè)筆記,分享出來也希望和我遇到同樣坑的朋友可以借此踩坑而過~
在使用這個(gè)插件之前,當(dāng)然是先安裝啦:
npm i vue-resource --save
安裝讀條完畢,接下來便是在項(xiàng)目中引入:
import VueResource from 'vue-resource'Vue.use(VueResource);
如上所述,在入口文件中引入vue-resource即可。然后便是具體的使用了。vue-resource的使用和以前在JQ,ZEPTO等等中使用的$.ajax方式類似,當(dāng)然,官方也提供了一系列的接口供小伙伴兒們使用,具體在此不做贅述,有興趣的小伙伴兒請移步:
Git傳送門:https://github.com/pagekit/vue-resource/blob/master/README.md
具體的使用方式個(gè)中均有詳述。
最后,就是我自己遇到的一個(gè)坑,上代碼!(不喜過程的小伙伴兒可以看波代碼,然后直接跳到文章尾看結(jié)論。)
<script> export default { name: 'app', data () { return { articles: [] } }, created: function() { this.$http.get('/api/user/order/list', { productType:"1", pageNum:1, pageLimit:8 }, { headers:{ }, emulateJSON: true } ).then((response) => { this.articles = response.data.data.list; }).catch(function(response) { console.log(response) }); } }</script>這個(gè)是最初始的代碼,滿心歡喜打包運(yùn)行之后,發(fā)現(xiàn)控制臺報(bào)了個(gè)錯,說list未定義!WTF!為此我去后臺看了下接口調(diào)用的情況,發(fā)現(xiàn)之前在調(diào)用接口時(shí)所傳的參數(shù)并沒有傳參成功,后來去網(wǎng)上多方搜查資料,發(fā)現(xiàn)把傳參方式修改成如下形式即可:
{ params: { productType:"1", pageNum:1, pageLimit:8 }}和之前的傳參方式不同,這次我把參數(shù)加在了一個(gè)名為params的對象中,再次打包后上傳,發(fā)現(xiàn)接口調(diào)用成功!
在這里,我對params做一個(gè)解釋,params表示的是支持上傳多個(gè)可變參數(shù),至于為啥加了之后就可以了,我也不是非常清楚,如有大神看到,望不吝賜教OTZ。
OK,既然接口調(diào)用成功了,那么數(shù)據(jù)也應(yīng)該就如愿以償?shù)目梢垣@取到了,然而看到頁面上仍是一片空白,懵逼的我瞄了一眼控制臺,發(fā)現(xiàn)此時(shí)控制臺上報(bào)了個(gè)錯,說list未定義。WTF!為此我仔細(xì)的看了下接口的數(shù)據(jù)結(jié)構(gòu),發(fā)現(xiàn)這樣賦值并沒有問題,可就是報(bào)錯未定義。于是便有了如下猜想:
想法一:response數(shù)據(jù)返回有誤
針對這個(gè)想法,我console了下response,發(fā)現(xiàn)response返回正常,此想法被終結(jié)。
想法二:既然response返回沒有問題,那問題難道出在data上?
新聞熱點(diǎn)
疑難解答
圖片精選