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 相关文章推荐
Array.slice()与Array.splice()的返回值类型
Oct 09 Javascript
JavaScript 变量命名规则
Sep 23 Javascript
javascript 循环读取JSON数据的代码
Jul 17 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
JS实现页面跳转参数不丢失的方法
Nov 28 Javascript
js时间控件只显示年月
Jan 08 Javascript
jQuery插件ajaxFileUpload使用详解
Jan 10 Javascript
jQuery实现链接的title快速出现的方法
Feb 20 Javascript
基于zepto.js实现手机相册功能
Jul 11 Javascript
vue-cli + sass 的正确打开方式图文详解
Oct 27 Javascript
vue 国际化 vue-i18n 双语言 语言包
Jun 07 Javascript
使用Mock.js生成前端测试数据
Dec 13 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清除bom示例
2014/03/03 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
Python 正则表达式入门(中级篇)
2016/12/07 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
Python多项式回归的实现方法
2019/03/11 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
《和我们一样享受春天》教学反思
2014/02/07 职场文书
土建工程师岗位职责
2014/06/10 职场文书
财务工作个人总结
2015/02/27 职场文书
公司聚餐通知
2015/04/22 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
Python max函数中key的用法及原理解析
2021/06/26 Python
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python