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 相关文章推荐
一个JavaScript继承的实现
Oct 24 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
Jul 17 Javascript
javascript中获取下个月一号,是星期几
Jun 01 Javascript
javascript表单验证和Window详解
Dec 11 Javascript
使用Node.js处理前端代码文件的编码问题
Feb 16 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
Javascript中内建函数reduce的应用详解
Oct 20 Javascript
Vue2.0如何发布项目实战
Jul 27 Javascript
详解javascript中的变量提升和函数提升
May 24 Javascript
一些你可能不熟悉的JS知识点总结
Mar 15 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
Jun 10 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在不同页面间传递Json数据示例代码
2013/06/08 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
CI框架附属类用法分析
2018/12/26 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
PHP函数积累总结
2019/03/19 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
对json字符串与python字符串的不同之处详解
2018/12/19 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
Python远程方法调用实现过程解析
2020/07/28 Python
Python日志器使用方法及原理解析
2020/09/27 Python
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
建筑工程自我鉴定
2013/10/18 职场文书
大学生村官任职感言
2014/01/09 职场文书
咖啡店自主创业商业计划书
2014/01/22 职场文书
感恩教育活动总结
2014/05/05 职场文书
运动会宣传口号
2014/06/09 职场文书
校长创先争优承诺书
2014/08/30 职场文书
2016党员入党决心书
2015/09/22 职场文书
导游词之介休绵山
2019/12/31 职场文书