Vue中的vue-resource示例詳解
vue-resource特點(diǎn)
vue-resource插件具有以下特點(diǎn):
1. 體積小 vue-resource非常小巧,在壓縮以后只有大約12KB,服務(wù)端啟用gzip壓縮后只有4.5KB大小,這遠(yuǎn)比jQuery的體積要小得多。
2. 支持主流的瀏覽器 和Vue.js一樣,vue-resource除了不支持IE 9以下的瀏覽器,其他主流的瀏覽器都支持。
3. 支持Promise API和URI Templates Promise是ES6的特性,Promise的中文含義為“先知”,Promise對(duì)象用于異步計(jì)算。 URI Templates表示URI模板,有些類似于ASP.NET MVC的路由模板。
4. 支持?jǐn)r截器 攔截器是全局的,攔截器可以在請(qǐng)求發(fā)送前和發(fā)送請(qǐng)求后做一些處理。攔截器在一些場(chǎng)景下會(huì)非常有用,比如請(qǐng)求發(fā)送前在headers中設(shè)置access_token,或者在請(qǐng)求失敗時(shí),提供共通的處理方式。
下面通過(guò)示例看下Vue中的vue-resource一起看看吧
- 版本:vue-resource v1.2.1
- 作用:
Vue與后臺(tái)Api進(jìn)行交互通常是利用vue-resource
來(lái)實(shí)現(xiàn)的,本質(zhì)上vue-resource是通過(guò)http來(lái)完成AJAX請(qǐng)求相應(yīng)的。
用法:
Vue實(shí)例對(duì)象注冊(cè)this.$http服務(wù),可以發(fā)送HTTP請(qǐng)求。解析請(qǐng)求所返回的結(jié)果。此外,Vue實(shí)例將會(huì)自定綁定到this所在的回調(diào)函數(shù)中。
{ // GET /someUrl this.$http.get('/someUrl').then(response => { // success callback }, response => { // error callback }); }
快捷方法列表
get(url, [config]) head(url, [config]) delete(url, [config]) jsonp(url, [config]) post(url, [body], [config]) put(url, [body], [config]) patch(url, [body], [config])
配置信息命令
響應(yīng)
源碼
下面我將以get請(qǐng)求訪問(wèn)json文件的方式來(lái)展示vue-resource的用法。
html中的源碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue-router</title> </head> <body> <div id="app"> <ul> <li v-for="item in list">{{item.name}}</li> </ul> <button @click="getData">get請(qǐng)求</button> </div> <script src="../../../js/vue/vue/1.0/vue.js"></script> <script src="../../../js/vue/vue-resource/1.2.1/vue-resource.js"></script> <script type="application/javascript"> var vm = new Vue({ el:'#app' ,data:{ list:[] } ,methods:{ getData(){ var url = '../json/get.json'; this.$http.get(url).then(function(res){ var body = res.body; if(body.status){ alert('請(qǐng)求出錯(cuò)!'); } this.list = body.message; }); } } }); </script> </body> </html>
json文件中的源碼
{ "status":0 ,"message":[ { "id":1 ,"name":"張三" } ,{ "id":2 ,"name":"李四" } ] }
結(jié)果
分析
上面的代碼實(shí)現(xiàn)的功能是在頁(yè)面中通過(guò)點(diǎn)擊button按鈕來(lái)觸發(fā)一個(gè)getData的click響應(yīng)事件,而該事件實(shí)現(xiàn)的功能是發(fā)送一個(gè)url請(qǐng)求(盡管說(shuō)其請(qǐng)求的是本地的json文件數(shù)據(jù),不過(guò)其請(qǐng)求后臺(tái)的方法和該方法是一模一樣的,所以說(shuō)其用于請(qǐng)求后臺(tái)的數(shù)據(jù)也是同樣的用法。),該請(qǐng)求返回url鏈接所響應(yīng)的數(shù)據(jù)。而該返回?cái)?shù)據(jù)將會(huì)在then()回調(diào)函數(shù)中進(jìn)行相應(yīng)的處理,比如說(shuō)我們的json文件中就返回了status響應(yīng)狀態(tài)碼,其中0代表成功,否則失敗。而一旦響應(yīng)成功,則調(diào)用body.message
,將相應(yīng)的數(shù)據(jù)主體綁定到data數(shù)據(jù)域中的list中,由于list中的數(shù)據(jù)有變動(dòng),因而Vue會(huì)自定的刷新li的v-for
中的頁(yè)面信息,進(jìn)而完成頁(yè)面信息的更新操作。
總結(jié)
以上所述是小編給大家介紹的Vue中的vue-resource示例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue實(shí)現(xiàn)excel文件的導(dǎo)入和讀取完整步驟
Vue的數(shù)據(jù)綁定功能非常強(qiáng)大,很適合用來(lái)讀取Excel內(nèi)容,這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)excel文件的導(dǎo)入和讀取的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10如何封裝一個(gè)類似微信通訊錄帶有字母檢索功能的vue組件
這篇文章主要介紹了如何封裝一個(gè)類似微信通訊錄帶有字母檢索功能的vue組件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08vue data對(duì)象重新賦值無(wú)效(未更改)的解決方式
這篇文章主要介紹了vue data對(duì)象重新賦值無(wú)效(未更改)的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Vue系列之Element?UI表單自定義校驗(yàn)規(guī)則
表單校驗(yàn)是注冊(cè)環(huán)節(jié)中必不可少的操作,表單校驗(yàn)可以提醒用戶填寫數(shù)據(jù)規(guī)則以確保用戶提交數(shù)據(jù)的效性,也可以防止用戶因誤操作而占用服務(wù)器資源,這篇文章主要給大家介紹了關(guān)于Vue系列之Element?UI表單自定義校驗(yàn)規(guī)則的相關(guān)資料,需要的朋友可以參考下2022-09-09vue2.0實(shí)現(xiàn)倒計(jì)時(shí)的插件(時(shí)間戳 刷新 跳轉(zhuǎn) 都不影響)
我發(fā)現(xiàn)好多倒計(jì)時(shí)的插件,刷新都會(huì)變成從頭再來(lái),于是自己用vue2.0寫了一個(gè),感覺(jué)還不錯(cuò),特此分享到腳本之家平臺(tái)供大家參考下2017-03-03vue2如何實(shí)現(xiàn)vue3的teleport
這篇文章主要介紹了vue2如何實(shí)現(xiàn)vue3的teleport,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04vue中axios給后端傳遞參數(shù)出現(xiàn)等于號(hào)和雙引號(hào)的問(wèn)題及解決方法
這篇文章主要介紹了vue中axios給后端傳遞參數(shù)出現(xiàn)等于號(hào)和雙引號(hào)要怎么解決,項(xiàng)目場(chǎng)景我是傳遞一個(gè)string字符給后端時(shí)候報(bào)錯(cuò),隨手把這個(gè)問(wèn)題記錄下來(lái)了,需要的朋友可以參考下解決方案2022-11-11