Vue模拟数据,实现路由进入商品详情页面的示例


Posted in Javascript onAugust 31, 2018

一、路由

首先需要配置路由,就是点击good组件进入goodDetail组件

配置路由如下

{
  path: '/goodDetail',
  component:goodDetail
 }

同时在good组件中写入如下点击事件,路由中加入查询参数,也就是商品的id

//点击路由到商品详细信息页
  selectGood(){
  router.push({
   path: 'goodDetail',
   query:{goodId:this.goodDetail.id}})
  }

二、在goodDetail组件中接收路由参数

goodDetail中的代码如下

export default{
 data(){
  return {
  id: this.$route.query.goodId,
  loading: false,
  selectedGood: []
  }
 },

 created(){
  this.fetchData();
 },

 methods:{
  fetchData(){
  this.loading = true;

  //拿到查询字段,商品的id后进行http请求
  var id = this.id;
  this.$http.get('/api/goods/' + id)
   .then(response => {
   this.selectedGood = response.data.data;
   }, error => {
   console.log(error);
   })

  this.loading = false;
  }
 }
 }

可以看到我这里接收到路由参数的中的商品id后,发送了一个http请求,这时就需要本地mock数据

三、本地模拟数据

首先需要有一个data.json用来存放模拟的数据,然后配置build目录下的dev-server.js如下

//获取mock数据
var appData = require('../data.json');
var goods = appData.goods;

var apiRoutes = express.Router();

apiRoutes.get('/goods', function (req, res) {
 res.json({
 errno: 0,
 data: goods
 });
})

//拿到指定id的商品信息
apiRoutes.get('/goods/:id', function(req, res) {
 var id = req.params.id;
 function selectedGood(id){
 for(var i = 0; i < goods.length; i++) {
  if(goods[i].id == id){
  return goods[i];
  }
 }
 }
 var good = selectedGood(id);
 res.json({
 errno: 0,
 // data: goods[req.params.id]
 data: good
 });
})

app.use('/api', apiRoutes);

以上这篇Vue模拟数据,实现路由进入商品详情页面的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery自定义类似$.ajax()的方法实现代码
Aug 13 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
jquery图片倾斜层叠切换特效代码分享
Aug 27 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
实例详解angularjs和ajax的结合使用
Oct 22 Javascript
uploadify多文件上传参数设置技巧
Nov 16 Javascript
原生js实现百叶窗效果及原理介绍
Apr 12 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
JavaScript DOM节点操作方法总结
Aug 23 Javascript
Bootstrap Table的使用总结
Oct 08 Javascript
使用Angular.js实现简单的购物车功能
Nov 21 Javascript
基于JavaScript实现右键菜单和拖拽功能
Nov 28 Javascript
JS实现百度网盘任意文件强制下载功能
Aug 31 #Javascript
angular1.x ui-route传参的三种写法小结
Aug 31 #Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
Aug 31 #Javascript
Angular 利用路由跳转到指定页面的指定位置方法
Aug 31 #Javascript
Vue 莹石摄像头直播视频实例代码
Aug 31 #Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
Aug 31 #Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 #Javascript
You might like
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
PHP处理会话函数大总结
2015/08/05 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
js对象的复制继承实例
2015/01/10 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
Python数据结构之单链表详解
2017/09/12 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
会计系毕业生求职信
2014/05/28 职场文书
理发店策划方案
2014/06/05 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
简单谈谈Python面向对象的相关知识
2021/06/28 Python
PyTorch中permute的使用方法
2022/04/26 Python
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL