用 Vue 做一个简单的购物app
前言
最近在学习Vue的使用。看了官方文档之后,感觉挺有意思的。于是着手做了一个简单的购物app。h5 与原生 app 交互的原理
这是我第一次在这个网站上写分享,如有不当之处,请多多指教。
一整个项目写下来,最大的感觉就是组件式开发,管理起来实在是太舒服了。而且vue中写scss还可以指定局部有效。这样写起scss感觉安全多了。用 vuex 进行全局数据管理也挺舒心的。element-ui 则大大解放了生产力。
概述
项目使用 Webpack + Vue2.x + vue-cli + vue-router + vuex + axios + element-ui 进行开发。
项目地址:https://github.com/OEEO/shopp...
上述技术栈简要说明:
vue-cli
vue-cli 就是使用搭建vue项目的脚手架,会帮你生成webpack的配置,以及大部分项目需要使用到的依赖,你只需要 install 就可以了。配置过 webpack 的同学应该能体会到使用 vue-cli 的爽。
vue-router
vue-router 主要用于单页应用的页面切换,用路由的好处是不用刷新页面,就可以跳转页面,而且 url 会变化,便于用户收藏地址。常用于不需要与后端交互数据的页面变化操作。
vuex
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。简单来说就是专门用于管理数据的一个全局对象。我觉得用 Vuex 管理数据的最大好处是便于维护,以及方便与后端交互数据。
axios
axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
axios 不支持 jsonp ,如果需要,要单独引入 jsonp。
element-ui、mint-ui
这两个都是饿了么团队贡献的 UI 组件库,其中 mint-ui 更轻量,更适用于手机端,但我实践过程中是发现 mint-ui 的功能太少,很难满足需求。以单独引入的方式使用 element-ui 可减小其占用体积,也是不错的选择。
遇到的问题及解决办法
1、当组件中的 style 标签中使用了 scoped,会导致某些 element-ui 中的默认样式修改无效。
解决办法:将对 element-ui 的修改单独写在一文件中,再用 import 引入到没使用 scoped 的 app.vue 中。
或者不要使用 scoped 。
2、父路由切换到子路由,地址发生了变化,页面却没出来
解决办法:父路由的页面中需要添加 router-view 子路由才会显示出来。
3、computed 不能传入参数
解决办法:使用 methods。不过一般情况下,如果能用computed解决的都用computed,因为computed会把结果缓存,性能更优。
由于很多问题都是做项目的时候,顺便就搜索解决了,一时也想不起来还有什么特别的问题了。
如有什么建议,或我可以解决的问题,欢迎联系本人。
最后如果大神们如有什么进阶项目推荐,也请多多指教。有好玩的项目写,动力就大大不一样。
如果本项目对你有帮助,请在 github 赐个 star 咯。
另外本人找工作ing,如有本人可以胜任的工作,请给个机会。毕竟自已独自在家写代码,不如在团队中写代码有意思。
原文地址:https://segmentfault.com/a/1190000014220254
用 Vue 做一个简单的购物app的更多相关文章
- vue 做一个简单的TodoList
目录结构 index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- MUI框架-05-用MUI做一个简单App
MUI框架-05-用MUI做一个简单App MUI 是一个前端框架,前端框架就像 Bootstrap,EasyUI,Vue ,为了做 app 呢,就有了更加高效的 MUI,我觉得前端框架有很多,也没有 ...
- 在iOS中实现一个简单的画板App
在这个随笔中,我们要为iPhone实现一个简单的画板App. 首先需要指出的是,这个demo中使用QuarzCore进行绘画,而不是OpenGL.这两个都可以实现类似的功能,区别是OpenGL更快,但 ...
- php实现一个简单的购物网站
实现一个简单的购物网站 一.考试时间:8小时 二.开发工具:DW 三.数据库:见附件 四.需要实现的页面: Index:浏览商品页面,显示商品列表,用户可以点击“购买“. ViewCart:查看购物车 ...
- .Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器
目标:使用.net core最新的3.0版本,借助httpclient和本机的host域名代理,实现网络请求转发和内容获取,最终显示到目标客户端! 背景:本人在core领域是个新手,对core的使用不 ...
- 如何做一个跨平台的游戏App?
如何做一个跨平台的游戏App? iOS和安卓系统上的应用程序,根据提供的内容不同,按照开发方式和用户体验不同,可区分为app和游戏: 首先从开发方式不同来说明,app开发一般是用操作系统官方提供的开发 ...
- 【Bugly干货分享】一起用 HTML5 Canvas 做一个简单又骚气的粒子引擎
Bugly 技术干货系列内容主要涉及移动开发方向,是由Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 前言 好吧,说是“粒子引擎”还是大言不 ...
- 使用React并做一个简单的to-do-list
1. 前言 说到React,我从一年之前就开始试着了解并且看了相关的入门教程,而且还买过一本<React:引领未来的用户界面开发框架 >拜读.React的轻量组件化的思想及其virtual ...
- 【 D3.js 入门系列 --- 3 】 做一个简单的图表!
前面说了几节,都是对文字进行处理,这一节中将用 D3.js 做一个简单的柱形图. 做柱形图有很多种方法,比如用 HTML 的 div 标签,或用 svg . 推荐用 SVG 来做各种图形.SVG 意为 ...
随机推荐
- HDU 5392 Infoplane in Tina Town
Infoplane in Tina Town Time Limit: 14000/7000 MS (Java/Others) Memory Limit: 524288/524288 K (Jav ...
- POJ题目1947 Rebuilding Roads(树形dp)
Rebuilding Roads Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 9957 Accepted: 4537 ...
- c#面试题总结
using System; class A { public A() { PrintFields(); } public virtual void PrintFields(){} } class B: ...
- Mongo-JS-导出数据为insert语句
======2014-11-14 数据提取======= [query@query-server hurl]$ cat test.sh tlist=`cat ./username.txt`; for ...
- luogu1006 传纸条
题目大意 小渊坐在矩阵的左上角,坐标 (1,1 ),小轩坐在矩阵的右下角,坐标 (m,n) .从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向上或者向左传递. 在活动进行中,小 ...
- oc44--多对象内存管理
// Room.h #import <Foundation/Foundation.h> @interface Room : NSObject @property int no;// 房间号 ...
- System.IO.Path
System.IO.Path 分类: C#2011-03-23 10:54 1073人阅读 评论(0) 收藏 举报 扩展磁盘string2010c System.IO.Path提供了一些处理文件名和路 ...
- Java-JRE:JRE百科
ylbtech-Java-JRE:JRE百科 JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品.运行JAVA程序所必须的环境的集合,包含JVM标准实现及 ...
- Java插入中文到数据库中文变成问号解决
转自:https://blog.csdn.net/hellosweet1/article/details/81673152 之所以会出现乱码,就是编码方式不一致导致的 我们应该首先确定 ...
- 10.3.3 WebView的几个常见功能
(1)背景设置,例如下面的代码. webView.setBackgroundColor(0);//先设置背景色为transparent webView.setBackgroundResource(R. ...