继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

用 Vue 全家桶实现一个简单的购物app

信者得救
关注TA
已关注
手记 1
粉丝 10
获赞 27
前言

最近在学习Vue的使用。看了官方文档之后,感觉挺有意思的。于是着手做了一个简单的购物app。
这是我第一次在这个网站上写分享,如有不当之处,请多多指教。

一整个项目写下来,最大的感觉就是组件式开发,管理起来实在是太舒服了。而且vue中写scss还可以指定局部有效。这样写起scss感觉安全多了。用 vuex 进行全局数据管理也挺舒心的。element-ui 则大大解放了生产力。

概述

项目使用 Webpack + Vue2.x + vue-cli + vue-router + vuex + axios + element-ui 进行开发。
项目地址:https://github.com/OEEO/shoppingApp

上述技术栈简要说明:

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,如有本人可以胜任的工作,请给个机会。毕竟自已独自在家写代码,不如在团队中写代码有意思。

打开App,阅读手记
9人推荐
发表评论
随时随地看视频慕课网APP

热门评论

好厉害啊。

想请教个问题:Vue传到github仓库后,打成dist文件,如何在github上预览呢,我试了几次都没用,求指教!!!

你也是个技术大神啊,随便面试一家就能入职啊

自己在家写代码肯定不入团队一起写代码有意思?

查看全部评论