[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8928":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":20,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":15,"starSnapshotCount":15,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},8928,"VueDemo_Sell_Eleme","SimonZhangITer\u002FVueDemo_Sell_Eleme","SimonZhangITer",":bowtie: ele by vue2.x :penguin:","https:\u002F\u002Fsimonzhangiter.github.io\u002FVueDemo_Sell_Eleme",null,"Vue",1376,533,84,0,56.18,"MIT License",false,"master",true,[22,23,24,25,26,27,28],"axios","eslint","vue","vue-router","vue2","vuex","webpack","2026-06-12 04:00:41","> 一直对vue很感兴趣，最近使用vue2.0开发了高仿饿了么点餐系统来练练手，不得不说vue真是一个很不错的框架，但是也遇到过一些坑，在这里和大家分享一下\n\n# 饿了么点餐系统\n\n> vue2.0、vuex、vue-router、axios、webpack、eslint、better-scroll\n\n\n## 演示 \n\n\u003Ca href=\"https:\u002F\u002Fsimonzhangiter.github.io\u002FVueDemo_Sell_Eleme\" target=_blank>在线演示戳我\u003C\u002Fa>（请使用chrome开发者手机演示模式预览）\n\n### 移动端演示\n扫二维码在手机上查看效果更好\n\n\u003Cimg src=\"https:\u002F\u002Fstatic.oschina.net\u002Fuploads\u002Fspace\u002F2017\u002F0207\u002F180535_4FSI_2493500.png\" width=\"25%\">\n\n\n## 组件\n\n- [x] 购物车\n- [x] 购买物品小球飞入动画\n- [x] 评价star组件\n- [x] 商品添加、删除组件\n- [x] 优惠图标组件\n- [x] 目录、列表联动滚动\n- [x] 画廊\n- [x] 评论的是否满意和内容筛选\n- [x] 商品列表页面\n- [x] 店铺评价页面\n- [x] 商家介绍页面\n- [x] 优惠活动页面\n- [x] 商品详情页面\n\n## 构建\n\nvue有自己的脚手架构建工具vue-cli,使用起来非常方便，使用webpack来集成各种开发便捷工具，比如：\n\n- 代码热更新，修改代码之后网页无刷新改变，对前端开发来说非常的方便\n- PostCss，再也不用去管兼容性的问题了，只针对chrome写css代码，会自动编译生成支持多款浏览器的css代码\n- Eslint，统一代码风格，规避低级错误，对于有代码洁癖的人来说是绝对的好东西，不过有些地方的代码校验有时候也挺麻烦的-.-\n- bable，ES2015出来已经有一段时间了，但是不少浏览器还没有兼容ES6.有了bable，放心使用ES6语法，它会自动转义成ES5语法。\n- Stylus，类似于SASS\u002FSCSS，但是可以不写{}和“：”，使用起来还是很方便的\n- ...\n\n除此之外，vue-cli已经使用node配置了一套本地服务器和安装命令等，本地运行和打包只需要一个命令就可以搞定，非常的方便\n\n## 开发\n\nvue非常好的融合了react的组件化思想和angular的指令思想。\n一个vue的组件将HTML、CSS、JS代码写在一个文件里面，这样既方便编写，也方便管理和修改\n\n### Axios\n\n在vue1.x的时候，vue的官方推荐HTTP请求工具是vue-resource，但是在vue2.0的时候将推荐工具改成了axios。\n\n使用方式都差不多，但需要注意的是：接口返回的res并不直接是返回的数据，而是经过axios本身处理过的json对象。真正的数据在res.data里：\n\n```javascript\naxios.get(url).then((res)=>{\n  this.data = res.data\n})\n```\n\n### Vuex\n\nvue提供了一个数据管理工具vuex，有点类似于angular中factory和service，可以进行数据上的通信。\n比如存储一些公共变量或者是不同组件间的数据处理等。\n\n这个有一些高级用法在这里不细说，想要了解的可以去官方文档看，有中文版本。\n\n```javascript\nconst store = new Vuex.Store({\n  state: {\n    count: 0\n  },\n  mutations: {\n    increment(state) {\n      state.count++\n    }\n  }\n})\n```\n\n### Vue-Router\n\nvue-router是vue的路由系统，可以用来创建单页应用。基本思想是在主页面中引入\u003Crouter-view>标签，然后定义路由，把router挂在到app上，然后把各个子页面渲染到view里面。使用起来还是很方便的，\n跳转页面只需要\n\n```javascript\nrouter.push('test')\n```\n\n### 获取元素节点\n\nvue2.0废除了v-el指令，所有的节点指令修改为ref，然后通过ref来获取元素节点，如\n\n```html\n\u003Cdiv ref=\"testHook\">test\u003C\u002Fdiv>\n...js code\nthis.$ref.testHook\n```\n\n### 组件间的通信\n\n一。如果是和子组件通信，则使用ref就可以实现，如：\n\n```html\n\u003Ctest ref=\"testHook\">\u003C\u002Ftest>\n...js code\nthis.$ref.testHook.add() \u002F\u002F调用test子组件的add方法\n```\n\n二。使用emit来发送广播\n\nvue2提供了一套广播机制，即一边发送广播，一边接收广播来执行相应操作。使用方法如下：\n\n比如想要给test组件发送一个“相加”广播:\n\n```javascript\nexport default {\n  method:{\n  \tclick(){\n  \t  Vue.$emit('add',{}) \u002F\u002F第二个参数可作为传递数据传送到监听端口，不需要则传空对象\n  \t}\n  }\n}\n```\n\n那么test组件中就需要监听，在created方法里写\n\n```javascript\nexport default {\n  created(){\n   Vue.$on('add',this.add)\n  },\n  method:{\n  \tadd(){\n  \t  this.count++\n  \t}\n  }\n}\n```\n\n\n除了以上总结的这点小的知识点以外，还有很多vue的知识想要和大家分享，以后会陆续写出来，大家感兴趣的也可以来我的GitHub一起来写这个项目（觉得不错的给个star Hah）\n\n## 安装步骤\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n```\n## 项目截图\n\n\u003Cimg src=\"https:\u002F\u002Fstatic.oschina.net\u002Fuploads\u002Fspace\u002F2017\u002F0207\u002F110250_3uWi_2493500.jpeg\" width=\"40%\"\u002F>&nbsp;&nbsp;&nbsp;&nbsp;\u003Cimg src=\"https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F20501873\u002F24188896\u002Fff2c5910-0f1d-11e7-80c0-bc28fd84fe80.png\" width=\"40%\"\u002F>\n\n## 交流\n\n欢迎热爱学习、忠于分享的胖友一起来交流\n\n- QQ：745913574\n\n- QQ群：149683643\n\n- WeChat\n\n\u003Cimg src=\"https:\u002F\u002Fp0.meituan.net\u002Fdpgroup\u002F749d8a79cd0a9bbc4e25b2f474a398d91256770.png?\" width=\"25%\">\n\n## 声明\n\n本项目的设计资源来自\u003Ca href=\"https:\u002F\u002Fcoding.imooc.com\u002Fclass\u002F74.html\" target=_blank>慕课网\u003C\u002Fa>，但慕课网采用的是vue1.0开发，本项目采用vue2.0重构，并且引入vuex、vue-router等插件，是我个人的练手项目，如有冒犯，还请海涵。\n","该项目是一个基于Vue 2.x开发的高仿饿了么点餐系统，旨在通过实际项目演练来展示Vue框架的强大功能。核心功能包括购物车管理、商品详情展示、店铺评价等，并且集成了vuex进行状态管理、vue-router实现单页应用路由、axios处理HTTP请求等技术特点。此外，项目还使用了webpack作为构建工具，支持代码热更新、PostCSS自动兼容多浏览器CSS编写、ESLint统一代码风格等功能。此项目非常适合前端开发者学习Vue及相关技术栈的实际应用，同时也可作为小型电商网站或点餐系统的参考案例。",2,"2026-06-11 03:20:21","top_language"]