vue-cli項(xiàng)目如何使用vue-resource獲取本地的json數(shù)據(jù)(模擬服務(wù)端返回?cái)?shù)據(jù))
最近使用vue-cli做了一個(gè)小小的項(xiàng)目,在項(xiàng)目中需要使用vue-resource來(lái)與后臺(tái)進(jìn)行數(shù)據(jù)交互,所以我使用了本地json數(shù)據(jù)來(lái)模仿后臺(tái)獲取數(shù)據(jù)的流程。
至于vue-resource的安裝和json的準(zhǔn)備我就不贅述了、、、
下面是操作方法:
1、首先介紹一下項(xiàng)目的結(jié)構(gòu):將本地的json文件放在最外層和index.html在一起,姑且叫做data.json。
我的json數(shù)據(jù)文件大概如此:
{ "seller": { "name": "粥品香坊(回龍觀)", "description": "蜂鳥專送", "bulletin": "會(huì)指定餐飲服務(wù)商。", "avatar": "http://static.galileo.xiaojukeji.com/static/tms/seller_avatar_256px.jpg", }, "goods": [ { "name": "熱銷榜", "type": -1 }, { "name": "熱銷榜", "type": -1 } ], "ratings": [ { "username": "3******c", "avatar": "http://static.galileo.xiaojukeji.com/static/tms/default_header.png", "recommend": [ "南瓜粥", "皮蛋瘦肉粥" ] }, { "username": "2******3", "avatar": "http://static.galileo.xiaojukeji.com/static/tms/default_header.png", "recommend": [ "扁豆?fàn)F面" ] } ] }
2、接著在build的dev-server.js中進(jìn)行加入代碼:
//模擬服務(wù)器返回?cái)?shù)據(jù)--開始 var appData = require('../data.json'); var seller = appData.seller; var goods = appData.goods; var ratings = appData.ratings; var apiRoutes = express.Router(); apiRoutes.get('/seller', function (req, res) { res.json({ errno: 0, data: seller }); }); apiRoutes.get('/goods', function (req, res) { res.json({ errno: 0, data: goods }); }); apiRoutes.get('/ratings', function (req, res) { res.json({ errno: 0, data: ratings }); }); app.use('/api', apiRoutes); //模擬服務(wù)器返回?cái)?shù)據(jù)--結(jié)束
特別注意:修改好后重新進(jìn)行cnpm run dev(注意當(dāng)dev-server.js和db.json改變后都需要進(jìn)行該步驟)。
解釋下以上代碼:
1》首先請(qǐng)求根目錄下的data.json文件,獲取到文件內(nèi)容并將其賦值給appData變量,然后獲取其中的各個(gè)字段數(shù)據(jù),分別定義變量seller、goods,ratings來(lái)賦值。
2》之后,通過express提供的Router對(duì)象及其一些方法(這里用的get方法)來(lái)設(shè)置接口(請(qǐng)求路徑)以及請(qǐng)求成功后的回調(diào)函數(shù)來(lái)處理要返回給請(qǐng)求端的數(shù)據(jù)。(errno這個(gè)類似以js請(qǐng)求中的code值)
3》最后,我們要“使用”這個(gè)Router對(duì)象,為了統(tǒng)一管理api接口,我們?cè)谝?qǐng)求的路由前邊都加上‘a(chǎn)pi/'來(lái)表明這個(gè)路徑是專門用來(lái)提供api數(shù)據(jù)的。在這個(gè)“接口”中,當(dāng)我們?cè)L問“http://localhost:8080/api/sites”路徑的時(shí)候,就會(huì)返回db.json里的sites對(duì)象給我們。
3、使用resouce獲取這些數(shù)據(jù),并使用
export default{ data () { return { seller: {} }; }, created () { this.$http.get('/api/seller').then((response) => { // console.log(response); response = response.body; const ERR_OK = 0; if (response.errno === ERR_OK) { let data = response.data; console.log(data); } }); }, components: { 'v-header': header } };
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解VScode編輯器vue環(huán)境搭建所遇問題解決方案
這篇文章主要介紹了VScode編輯器vue環(huán)境搭建所遇問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Electron+Vue3+Vite搭建桌面應(yīng)用的示例代碼
本文主要介紹了Electron+Vue3+Vite搭建桌面應(yīng)用的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Vue組件設(shè)計(jì)-滾動(dòng)置頂設(shè)計(jì)案例
這篇文章主要介紹了Vue組件設(shè)計(jì)-滾動(dòng)置頂設(shè)計(jì)案例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04vue前端框架vueuse的useScroll函數(shù)使用源碼分析
這篇文章主要為大家介紹了vueuse的useScroll函數(shù)源碼分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08基于Vue?+?ElementUI實(shí)現(xiàn)可編輯表格及校驗(yàn)
這篇文章主要給大家介紹了基于Vue?+?ElementUI?實(shí)現(xiàn)可編輯表格及校驗(yàn),文中有詳細(xì)的代碼講解和實(shí)現(xiàn)思路,講解的非常詳細(xì),有需要的朋友可以參考下2023-08-08詳解vue 中使用 AJAX獲取數(shù)據(jù)的方法
本篇文章主要介紹了詳解vue 中使用 AJAX獲取數(shù)據(jù)的方法,在VUE開發(fā)時(shí),數(shù)據(jù)可以使用jquery和vue-resource來(lái)獲取數(shù)據(jù),有興趣的可以了解一下。2017-01-01