记账起手篇

简介: 记账起手篇

记账起手篇


用@vue/cli创建项目

【提醒1:别忘了做项目时,每完成一个小阶段就提交一下代码:git status \ git add. \ git commit -m "xxx"】

【提醒2:template里面不能有两个根组件(两个div),所以要用一个大div包裹住里面的所有内容】

【提醒3:千万不要在手机上使用fixed定位,坑超级超级多 --- 使用flex定位】

【小技巧:vscode快速查找文件快捷键 ctrl+p 】

前期准备

网络异常,图片无法展示
|

创建项目

网络异常,图片无法展示
|

Vue功能的配置

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

项目的目录说明

目录:

  • public: 一般不会变动
  • src: 源代码source的简写src
  • assets(资源):除了HTML, CSS, JS, TS都放在这里. 比如图片, svg
  • components: 只放组件
  • router: 用来放路由
  • store:
  • views: 来放视图的
  • App.vue: 整个应用的视图
  • Main.ts: 入口文件, 主要功能来渲染App
  • registerServiceWorker.ts: 与PWA相关
  • shims-tsx.d.ts: TS相关的
  • shims-vue.d.ts: TS相关的
  • tests: 测试相关
  • 下面都是配置文件
  • tsconfig.json: TS配置
  • vue.config.js: webpack配置

网络异常,图片无法展示
|

使用编辑器(VScode或Webstorm)的一些快捷功能

网络异常,图片无法展示
|

编辑器配置:

vscode输入 vbase或者v 就能快速创建一些模板

网络异常,图片无法展示
|

import alias:

1、TS/JS可以通过 @/目录名 引入文件

网络异常,图片无法展示
|

改为下图的写法

网络异常,图片无法展示
|

这里的@就是代表src目录

2、CSS/SASS可以通过 ~@/目录名 引入文件

网络异常,图片无法展示
|

改为下图的写法

网络异常,图片无法展示
|

这里的~@就是代表src目录

关于ts文件的细节

默认生成的typescript是没有写分号的,但是ts又希望我们写分号,所以最好都加上分号

网络异常,图片无法展示
|

TypeScript Importer:自动填写import的工具

  • 1、安装TypeScript Importer插件
  • 2、鼠标滑到要引入的组件名字(这里就是把鼠标移到Money那里)
  • 3、ctrl+shift+p 输入命令Import
  • 4、点击add import选项

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|


底部导航思路一:配置router

确定页面url

网络异常,图片无法展示
|

网络异常,图片无法展示
|

配置router

网络异常,图片无法展示
|

网络异常,图片无法展示
|

初始化组件

网络异常,图片无法展示
|

网络异常,图片无法展示
|

控制渲染区域

网络异常,图片无法展示
|

这里实现了:用户切换不同的路径,就进入不同的页面 (默认是进入Money页面)

网络异常,图片无法展示
|

创建404页面

网络异常,图片无法展示
|

别忘了index.ts文件里import NotFound from '@/views/NotFound.vue'

网络异常,图片无法展示
|

底部导航思路二:全局引入

网络异常,图片无法展示
|

继续实现功能:点击记账/标签/统计,切换不同页面

网络异常,图片无法展示
|

但是呢,比如404页面就不需要记账/标签/统计这几个标签,所以要优化:将包裹记账/标签/统计的这个div封装成一个组件Nav

网络异常,图片无法展示
|

要引入这个组件,怎么引入呢? 比如在Money引入记账/标签/统计标签:

网络异常,图片无法展示
|

但是每个页面都这样引入,代码要重复写,所以采用全局引入Nav

网络异常,图片无法展示
|

全局引入后,单标签的import和components就不用写了

网络异常,图片无法展示
|

全局引入Nav的思路发展

![](p3-juejin.byteimg.com/tos-cn-i-k3…

底部导航思路三:添加样式

网络异常,图片无法展示
|

提醒:千万不要在手机上使用fixed定位,坑超级超级多】--- 所以使用flex定位

scoped的作用

写CSS,添加class类名很容易重复,比如nav这种太容易撞车了,这里Vue就给了个东西:scoped(范围),意思这个nav类名只在当前组件范围里 scoped会做俩件事情防止类名重叠:

1、在div类名后面添加随机字符串 data-v-xxxxx

2、会在css里添加一个属性选择器 data-v-xxxxx

网络异常,图片无法展示
|

【 但是不要在App.vue等这种作用于全局的文件里写scoped 】

将css布局抽离成组件Layout.vue

网络异常,图片无法展示
|

全局引入Layout

网络异常,图片无法展示
|

插槽

需求:不同页面插入的文案不同,比如Money.vue的文案是“此页面是Money.vue的内容”,而Labels页面的文案是“此页面是Labels.vue的内容”,不同页面不同文案,这时候可以使用插槽

插槽文档:cn.vuejs.org/v2/guide/co…

步骤:

  • 1、将相同的样式写到Layout.vue里,然后全局引入Layout组件
  • 2、使用插槽,将不同页面要显示的内容插入进去

网络异常,图片无法展示
|

网络异常,图片无法展示
|

使用svg-sprite-loader引入icon

网络异常,图片无法展示
|

步骤:

1、寻找要使用的 icon:iconfont-阿里巴巴矢量图标库

2、搜索相关关键词,比如label,然后下载icon (使用svg下载)

3、修改icon的名字(贴合你的文件名),并将其放到项目中,一般是在assets目录新建一个icons目录

网络异常,图片无法展示
|

网络异常,图片无法展示
|

4、引入svg,方法参考:鱼丸:关于Vue typescript 引入svg的问题

网络异常,图片无法展示
|

网络异常,图片无法展示
|

而我们得到的 x 是一个路径(字符串),因此我们需要svg-sprite-loader 【后续的操作看参考链接】

后续的操作中有是几个偏工程的代码,照着抄就好

网络异常,图片无法展示
|

网络异常,图片无法展示
|

在封装Icon时,别忘了全局引入Icon 以及把Nav里的【improt目录这部分代码】挪到 Icon.vue里

网络异常,图片无法展示
|

开始写CSS

(看Nav.vue和App.vue代码就行)

active-class 路由激活

实现:点击一个图标,图标就高亮

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

更新meta viewport

以适应手机端,使用淘宝的meta viewport即可


svg的两个坑

第一个坑:如果你下载的svg文件里,开发者自己写了 fill 这个属性,那么很容易影响你对icon变色的操作

解决办法:

步骤1、在vue.config.js里添加框红处的代码

步骤2、运行 yarn add --dev svgo-loader

网络异常,图片无法展示
|

有个注意点:

网络异常,图片无法展示
|

第二个坑:webstorm无法import scss文件 (2020年webstorm已经把这个bug修复了)

相关文章
|
3月前
|
存储 数据可视化 数据库
构建简易个人记账应用
【8月更文挑战第31天】在这个数字化时代,掌握资金流动对于个人理财至关重要。本文将引导你使用Python和SQLite数据库构建一个简易的个人记账应用。我们将从基础的数据模型设计开始,逐步实现数据的增删查改功能,并探讨如何通过用户界面与后端代码交互。文章末尾,我们会讨论可能的扩展功能,以增强这个应用的实用性。无论你是编程新手还是想实践项目经验的开发者,这篇文章都将为你提供有价值的指导。
|
资源调度 JavaScript 前端开发
招财猫项目记账
招财猫项目记账
131 0
|
存储 人工智能 安全
区块链合约交易所源码新币币交易所USDT秒合约杠杆C2C法币交易
迄今为止,已经有相当多的服务提供加密货币兑换服务。虚拟货币的流行度只增不减,交易平台的需求量也越来越大。 并非所有知名交易所都是可靠和诚实的,因此利基市场仍然对新的和改进的公司开放。
区块链合约交易所源码新币币交易所USDT秒合约杠杆C2C法币交易
|
算法 安全 缓存
代币合约流动性质押挖矿分红开发正式版丨代币合约流动性质押挖矿分红系统开发(详细方案及逻辑)
consensus: # 共识类型(0-SOLO,1-TBFT,3-HOTSTUFF,4-RAFT,5-DPoS,10-POW) type: 4 nodes: - org_id: "wx-org1.chainmaker.org"
|
开发工具 网络安全 数据安全/隐私保护
代币合约流动性质押挖矿开发功能丨代币合约流动性质押挖矿分红系统开发实现技术分析及源码
topo.yaml示例 # # Global variables are applied to all deployments and used as the default value of # # the deployments if a specific deployment value is missing.
|
前端开发
资产管理(记账系统)03
本文介绍如何创建一个记账系统。
165 1
资产管理(记账系统)03
|
消息中间件 存储 缓存
聊聊记账
聊聊记账
406 0
聊聊记账
|
区块链
区块链交易所:虚拟货币交易的5个技巧
  在虚拟货币交易市场里,经常混迹于币圈世界里的交易员通过长时间的交易经验积累,总结一套属于自己的交易技巧,以此来减少自己犯错误的成本。接下来由https://www.fgba.net/为你揭晓虚拟货币交易的6个技巧,希望您在区块链交易所交易过程中少走点弯路。
812 0
区块链交易所:虚拟货币交易的5个技巧
正在消亡的金立,法院正式受理金立破产申请
金立之所以走到今天这般地步,很大程度上也是刘立荣个人决策所导致的。
397 0
|
供应链 区块链
新华社揭秘区块链:一份人人记账的“超级账本”能带来什么?
一份人人记账的“超级账本”能带来什么?
1342 0