vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)


Posted in Javascript onAugust 04, 2017

最近使用vue-cli做了一个小小的项目,在项目中需要使用vue-resource来与后台进行数据交互,所以我使用了本地json数据来模仿后台获取数据的流程。

至于vue-resource的安装和json的准备我就不赘述了、、、

下面是操作方法:

1、首先介绍一下项目的结构:将本地的json文件放在最外层和index.html在一起,姑且叫做data.json。

我的json数据文件大概如此:

{
 "seller": {
   "name": "粥品香坊(回龙观)",
   "description": "蜂鸟专送",
   "bulletin": "会指定餐饮服务商。",
   "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": [
    "扁豆焖面"
   ]
  }
 ]
}

2、接着在build的dev-server.js中进行加入代码:

//模拟服务器返回数据--开始
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);
//模拟服务器返回数据--结束

特别注意:修改好后重新进行cnpm run dev(注意当dev-server.js和db.json改变后都需要进行该步骤)。

解释下以上代码:

1》首先请求根目录下的data.json文件,获取到文件内容并将其赋值给appData变量,然后获取其中的各个字段数据,分别定义变量seller、goods,ratings来赋值。

2》之后,通过express提供的Router对象及其一些方法(这里用的get方法)来设置接口(请求路径)以及请求成功后的回调函数来处理要返回给请求端的数据。(errno这个类似以js请求中的code值)

3》最后,我们要“使用”这个Router对象,为了统一管理api接口,我们在要请求的路由前边都加上‘api/'来表明这个路径是专门用来提供api数据的。在这个“接口”中,当我们访问“http://localhost:8080/api/sites”路径的时候,就会返回db.json里的sites对象给我们。

3、使用resouce获取这些数据,并使用

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
 }
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
判断控件是否已加载完成的代码
Feb 24 Javascript
数组方法解决JS字符串连接性能问题有争议
Jan 12 Javascript
js自动下载文件到本地的实现代码
Apr 28 Javascript
css与javascript跨浏览器兼容性总结
Sep 15 Javascript
javascript禁止访客复制网页内容的实现代码
Aug 05 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
解析vue data不可以使用箭头函数问题
Jul 03 Javascript
vue.js template模板的使用(仿饿了么布局)
Aug 13 Javascript
vue封装一个简单的div框选时间的组件的方法
Jan 06 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
Apr 11 Javascript
node运行js获得输出的三种方式示例详解
Jul 02 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 #jQuery
vue修改vue项目运行端口号的方法
Aug 04 #Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
Aug 04 #Javascript
微信小程序 本地图片按照屏幕尺寸处理
Aug 04 #Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 #Javascript
微信小程序 五星评分的实现实例
Aug 04 #Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 #Javascript
You might like
php 带逗号千位符数字的处理方法
2012/01/10 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
pip命令无法使用的解决方法
2018/06/12 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
由面试题加深对Django的认识理解
2019/07/19 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
深入理解Python 多线程
2020/06/16 Python
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
激励口号大全
2014/06/17 职场文书
团日活动总结模板
2014/06/25 职场文书
python基础之函数的定义和调用
2021/10/24 Python
Python 匹配文本并在其上一行追加文本
2022/05/11 Python