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 相关文章推荐
二行代码解决全部网页木马
Mar 28 Javascript
测试你的JS的掌握程度的代码
Dec 09 Javascript
js的一些常用方法小结
Jun 29 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
js window.open弹出新的网页窗口
Jan 16 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
Dec 03 Javascript
vue实现登陆登出的实现示例
Sep 15 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
JS中自定义事件的使用与触发操作实例分析
Nov 01 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
Nov 18 Javascript
Vue请求java服务端并返回数据代码实例
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
虫族 Zerg 历史背景
2020/03/14 星际争霸
77A一级收信机修理记
2021/03/02 无线电
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
用PHP实现的随机广告显示代码
2007/06/14 PHP
跟我学Laravel之视图 &amp; Response
2014/10/15 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
php限制ip地址范围的方法
2015/03/31 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
利用python将json数据转换为csv格式的方法
2018/03/22 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
python实现图像拼接
2020/03/05 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
PyQt实现计数器的方法示例
2021/01/18 Python
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
九年级历史教学反思
2014/01/27 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
学习十八大宣传标语
2014/10/09 职场文书
公司介绍信范文
2015/01/31 职场文书
面试复试通知单
2015/04/24 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
世界名著读书笔记
2015/06/25 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python