用 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 意为 ...
随机推荐
- vbs use
VBScript中SendKeys的妙用 标签: vbscriptbasicmicrosoftinsertdeletestring 2011-05-26 15:29 1830人阅读 评论(0) 收藏 ...
- UVA LIVE 7146 Defeat the Enemy
这个题跟codeforces 556 D Case of Fugitive思路一样 关于codeforces 556 D Case of Fugitive的做法的链接http://blog.csdn. ...
- 使用SetTimer函数为Delphi的Win控件设置时钟
procedure Timertodo(var messag:Tmessage);message WM_TIMER; procedure TForm1.FormCreate(Sender: TObje ...
- B3403 [Usaco2009 Open]Cow Line 直线上的牛 deque
deque真的秀,queue和stack...没啥用了啊.操作差不多,就是在前面加一个front||back_就行了. 题干: 题目描述 题目描述 约翰的N只奶牛(编为1到N号)正在直线上排队 ...
- 第13课 SmartGit程序操作介绍
http://www.syntevo.com/
- 0420-mysql关键词/错误提示关键词
操作关键词: 1.show //查看.展示 2.use //选择(库/表) 3.database/s //库/所有库 4.table/s //表/所有表 5.primary key //主键:不可重复 ...
- linux的shell函数参数
在Shell中,调用函数时可以向其传递参数.在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数... 带参数的函数示例: #!/bin/bash funWit ...
- php导出mysql源码
件名:db_backup.php 源代码如下: 复制代码 代码如下: <?php ini_set("max_execution_time", "180") ...
- netty 引用计数对象(reference counted objects)
[Netty官方文档翻译]引用计数对象(reference counted objects) http://damacheng009.iteye.com/blog/2013657
- JQuery 数据加载中禁止操作页面
比较常见的做法,但对我而言是第一次做,记录一下. 为了把找来的loading.gif 的背景色设置为透明,还特意装了quicktime. 有学到一些额外的东西. 先将div及img定义好 <bo ...