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 相关文章推荐
JavaScript和JQuery实用代码片段(一)
Apr 07 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
Jan 17 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
微信小程序 页面之间传参实例详解
Jan 13 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
基于Vue渲染与插件的加载顺序的问题详解
Mar 05 Javascript
node 标准输入流和输出流代码实例
Sep 19 Javascript
vue导航栏部分的动态渲染实例
Nov 01 Javascript
微信小程序实现滑动操作代码
Apr 23 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配置文件中最常用四个ini函数
2007/03/19 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
PHP安全防范技巧分享
2011/11/03 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
php判断当前操作系统类型
2015/10/28 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
Sample script that deletes a SQL Server database
2007/06/16 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
Python之web模板应用
2017/12/26 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
详解python3中的真值测试
2018/08/13 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Python3-异步进程回调函数(callback())介绍
2020/05/02 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
通过代码实例了解Python sys模块
2020/09/14 Python
python操作toml文件的示例代码
2020/11/27 Python
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
this关键字的含义
2015/04/08 面试题
如何开启linux的ssh服务
2013/06/03 面试题
医学生就业推荐表自我鉴定
2014/03/26 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
2015年助残日活动总结
2015/03/27 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android