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 相关文章推荐
json跟xml的对比分析
Jun 10 Javascript
js实现广告漂浮效果的小例子
Jul 02 Javascript
jquery ajaxSubmit 异步提交的简单实现
Feb 28 Javascript
jquery实现pager控件示例
Apr 09 Javascript
jQuery的:parent选择器定义和用法
Jul 01 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
Sep 17 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
elementui的默认样式修改方法
Feb 23 Javascript
JavaScript的词法结构精华篇
Oct 17 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
Dec 05 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
Jun 18 Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 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
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
深入理解React中es6创建组件this的方法
2016/08/29 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
Python文件及目录操作实例详解
2015/06/04 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
python中安装django模块的方法
2020/03/12 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
酒后驾车标语
2014/06/30 职场文书
社区活动策划方案
2014/08/21 职场文书
迟到检讨书范文
2015/01/27 职场文书
财务负责人岗位职责
2015/02/03 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
山楂树之恋观后感
2015/06/11 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android