位置: IT常识 - 正文

Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)(vuecli项目实战)

编辑:rootadmin
Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分) 基于 Vue3.x + Vant UI 的多功能记账本(三)文章目录基于 Vue3.x + Vant UI 的多功能记账本(三)项目演示开发导航栏1、底部导航栏2、测试底部导航栏3、公共头部写到最后(附源码)系列内容参考链接基于 Vue3.x + Vant UI 的多功能记账本(一)项目演示,涉及知识点基于 Vue3.x + Vant UI 的多功能记账本(二)搭建开发环境项目演示

推荐整理分享Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)(vuecli项目实战),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vuecli项目实战,vue做项目的流程,vue实例完整项目源码,vuecli项目实战,vue项目实例,vuejs项目实战,vue做项目的流程,vue项目实战教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Vue3 + Vant UI_多功能记账本

开发导航栏1、底部导航栏

components 文件夹下,创建 NavBar.vue 组件

NavBar.vue

详细内容请看代码和注释van-tabbar-item 为标签栏

<template> <van-tabbar v-model="active"> <!-- 三个导航,通过 link 方法切换相应路径对应的页面 --> <van-tabbar-item icon="notes-o" @click="link('/home')" >明细</van-tabbar-item > <van-tabbar-item icon="bar-chart-o" @click="link('/data')" >统计</van-tabbar-item > <van-tabbar-item icon="user-o" @click="link('/user')">我的</van-tabbar-item> </van-tabbar></template><script>import { ref } from "vue";import { useRouter } from "vue-router";export default { name: "NavBar", props: { msg: String, // 限制 msg 的类型为字符串 }, // 相当于 vue2.x 的 beforeCreate 和 created setup() { // 使用路由 const router = useRouter(); const active = ref(0); // 路由跳转 const link = (path) => { router.push({ path }); }; return { active, link, }; },};</script>

Data.vue

<template>统计</template><script>export default { name: "Data",};</script>

User.vue

<template>个人中心</template><script>export default { name: "User",};</script>

在 src/router/inedx.js 将这三个页面给定对应的路径

// 用的是 hash 路由,不需要后端支持import { createRouter, createWebHashHistory } from "vue-router";import Home from '../views/Home.vue'import Data from '../views/Data.vue'import User from '../views/User.vue'// 创建路由实例const router = createRouter({ history: createWebHashHistory(), // hash 模式 routes: [ { path: "/", component: Home }, { path: "/home", component: Home }, { path: "/data", component: Data }, { path: "/user", component: User }, ]})// 抛出路由实例export default router

在 App.vue 中引入 NavBar 组件

App.vue

<template> <router-view /> <NavBar /></template><script>import Home from "./views/Home.vue";import NavBar from "./components/NavBar.vue";export default { name: "App", components: { Home, NavBar, },};</script>

Vant UI 的新增组件,需要在 main.js 文件中引入

main.js

import { createApp } from 'vue'import { Button, Tabbar, TabbarItem, Form, Field, Icon, NavBar } from "vant";import "lib-flexible/flexible";import App from './App.vue'import router from './router'import "vant/lib/index.css"; // 全局引入样式import './index.css'// 创建实例const app = createApp(App)// 注册组件 => 按需注册app.use(router);app.use(Tabbar);app.use(TabbarItem);app.use(Form);app.use(Field);app.use(Button); // 注册组件app.use(Icon);app.use(NavBar);// 注册路由app.use(router)app.mount('#app')

此时,yarn dev,打开浏览器可以看到…

2、测试底部导航栏Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)(vuecli项目实战)

./src/views 文件夹下新建一个 Login.vue 组件

Login.vue

<template>登录注册</template><script>export default { name: "Auth",};</script>

在 ./src/router/index.js 文件中添加以下路由(导入和配置)

import Login from '../views/Login.vue'...{ path: '/login', component: Login}...

在 User.vue 中添加跳转到登录注册的路由

User.vue

<template> <Header title="个人中心" /> 个人中心 <router-link to="/login">前往登录注册</router-link></template><script>import Header from "../components/Header.vue";export default { name: "User", components: { Header },};</script>

3、公共头部

./components 文件夹中创建 Header.vue 文件

Header.vue

公共头部,详细内容看代码和注释<template> <!-- 占位标签,给的高度和 NavBar 组件一样高,这样就能将顶部撑开,不会让页面有一部分隐藏在 NavBar 后面 --> <div class="block"></div> <!-- title 通过变量的形式从外部传入,固定定位定位到页面顶部 --> <!-- left-text:返回标志,left-arrow:箭头标志 --> <van-nav-bar class="header" @click-left="back" :title="title" left-text="返回" left-arrow > <template #right> <!-- iconfont 的字体图标 --> <i class="iconfont more">...</i> </template> </van-nav-bar></template><script>import { useRouter } from "vue-router";export default { name: "Header", // 传入的 title 变量 props: { title: { type: String, default: "", }, }, setup() { const router = useRouter(); // 点击返回时,返回上一级 const back = () => { router.back(); }; return { back, }; },};</script><style lang="less" scoped>.block { width: 100%; height: 46px;}.header { position: fixed; top: 0; left: 0; width: 100%; .more { font-size: 20px; margin-bottom: 15px; }}</style>

导入头部组件并使用,title 是传给 Header.vue 的名字

Data.vue

<template> <Header title="统计" /> 统计</template><script>import Header from "../components/Header.vue";export default { name: "Data", components: { Header },};</script>

Home.vue

<template> <Header title="明细" /> 明细</template><script>import Header from "../components/Header.vue";export default { name: "Home", components: { Header },};</script>

User.vue

<template> <Header title="个人中心" /> 个人中心</template><script>import Header from "../components/Header.vue";export default { name: "User", components: { Header },};</script>

写到最后(附源码)

看到这么好的项目,是不是有种想自己做出来的冲动?

如果有,那么说明你非常的想提升自己,想检验自己这段时间的学习成果,这个项目绝对是你的 不二选择

心动不如行动

那么接下来,一起从0搭建,开始我们基于 Vue3.x + Vant UI 的项目之旅吧~

源码放在了下方的微信公众号里【回复:记账本】即可

本文链接地址:https://www.jiuchutong.com/zhishi/295315.html 转载请保留说明!

上一篇:Apifox:详细使用教程,带你轻松拿捏(api使用方法)

下一篇:Vue开发实例(11)之el-menu实现左侧菜单导航(vue实战开发项目视频)

  • java wait(java wait notify 详解)

    java wait(java wait notify 详解)

  • windows8系统(windows8 激活)

    windows8系统(windows8 激活)

  • 局域网中mac指的是什么(局域网中mac指的是网络吗)

    局域网中mac指的是什么(局域网中mac指的是网络吗)

  • 手机的辅助触控打开的怎么没有显示呢(手机的辅助触控怎么用)

    手机的辅助触控打开的怎么没有显示呢(手机的辅助触控怎么用)

  • 直播音浪是怎么来的(直播音浪怎么换钱)

    直播音浪是怎么来的(直播音浪怎么换钱)

  • 腾讯视频弹幕怎么开不了(腾讯视频弹幕怎么删除自己发的)

    腾讯视频弹幕怎么开不了(腾讯视频弹幕怎么删除自己发的)

  • 手机youtube年龄限制解除?(youtube年龄限制中国大陆手机)

    手机youtube年龄限制解除?(youtube年龄限制中国大陆手机)

  • 调音台st什么意思(调音台st in)

    调音台st什么意思(调音台st in)

  • ipad pro 2020是第几代(ipadpro2020是第几代笔)

    ipad pro 2020是第几代(ipadpro2020是第几代笔)

  • 苹果手机wps不能以文件发送(苹果手机wps不能直接打开)

    苹果手机wps不能以文件发送(苹果手机wps不能直接打开)

  • qq视频电话对方没接能看到我吗(qq视频电话对方暂时无法接听是什么意思)

    qq视频电话对方没接能看到我吗(qq视频电话对方暂时无法接听是什么意思)

  • switch开不了机怎么办(switch开不了机怎么修)

    switch开不了机怎么办(switch开不了机怎么修)

  • 华为mate30后盖碎了(华为mate30后盖碎了能换吗)

    华为mate30后盖碎了(华为mate30后盖碎了能换吗)

  • amd rx580是什么水平(amd的rx580)

    amd rx580是什么水平(amd的rx580)

  • qq空间热度和浏览区别(qq空间热度是什么东西)

    qq空间热度和浏览区别(qq空间热度是什么东西)

  • qq误删好友火花天数怎么恢复(qq误删好友火花还能回来吗)

    qq误删好友火花天数怎么恢复(qq误删好友火花还能回来吗)

  • 微信加好友二维码能用多久(微信加好友二维码可以随便给别人吗)

    微信加好友二维码能用多久(微信加好友二维码可以随便给别人吗)

  • 怎么调取微信删除的聊天记录(怎么调取微信删除的账单)

    怎么调取微信删除的聊天记录(怎么调取微信删除的账单)

  • 手手机交了话费却上不了网怎么回事(手机交完话费)

    手手机交了话费却上不了网怎么回事(手机交完话费)

  • ppt没有保存能找回来吗(ppt没有保存怎么找)

    ppt没有保存能找回来吗(ppt没有保存怎么找)

  • 抖音橱窗必须开通淘宝联盟吗(抖音橱窗必须开通聚合账户有个扣款吗)

    抖音橱窗必须开通淘宝联盟吗(抖音橱窗必须开通聚合账户有个扣款吗)

  • 如何保存小红书无水印(如何保存小红书动图)

    如何保存小红书无水印(如何保存小红书动图)

  • 配置足够但玩游戏帧数低(配置足够但玩游戏卡顿)

    配置足够但玩游戏帧数低(配置足够但玩游戏卡顿)

  • ChatGPT助力校招----面试问题分享(四)

    ChatGPT助力校招----面试问题分享(四)

  • 个人所得税财产租赁所得税率表
  • 地方教育费附加的计税依据是什么
  • 专利银行卡汇款流程
  • 税前利润包含营业税吗
  • 劳务工资入什么科目
  • 服装业增值税专用发票税率
  • 本年利润期末一般有余额吗
  • 银行存款没有期初余额的总账怎么填
  • 短期借款可以按币种设置明细核算
  • 一般纳税人每个月几号报税
  • 小规模纳税人按1%征收增值税
  • 软件开发过程的一般步骤
  • 专用发票作废后怎么处理
  • 专业合作社的业务范围
  • 年薪制离职补偿金
  • 房地产企业增值税预缴
  • 工程的进项税怎么处理
  • 认缴制的期限是多久
  • 非货币性资产交换准则
  • 小贷公司贷款的流程是什么
  • 什么情况增值税专用发票不能抵扣
  • 地方教育费附加的会计分录
  • 支付装修款
  • 电费预付之后又退回来了
  • 有限的访问权限是什么意思
  • 买点肥料
  • 刚注册的有限公司可以马上注销吗
  • 非营利组织一般纳税人会计准则
  • bios 怎么进去
  • u盘安装pe系统
  • 净资产收益率怎么求
  • 法国著名画家塞尚属于什么流派?
  • 自行建造完成交付的房子
  • 取得专票怎么结转销售成本
  • 工程竣工结算资料存档几年
  • 哪些费用需要计提,哪些不需要
  • 中科院怎么赚钱
  • 多角度分析数据
  • 融资购入的固定资产如何记账
  • 怎么写产品成本分析
  • atq命令 显示用户待执行任务列表
  • 租房开的发票收的税怎么做账?
  • js中同步如何理解
  • 个税补缴纳
  • 印花税计税依据怎么算
  • 一般纳税人简易计税方法适用情形
  • 会计账簿有哪些作用
  • 应付利息核算的会计分录
  • 机场员工家属机票
  • 风险纳税人去税务局去报税可以吗
  • 公司软件使用制度
  • 负担、支付所得的企业
  • abc类企业的划分
  • 其他应付款贷方余额怎么冲平
  • 一家公司一定要有一个社保吗
  • 查询存储过程中的文件
  • sql server服务器模式
  • sql的all和any
  • 关闭 windows
  • 64位win7旗舰版右下角音量小喇叭图标不见了怎么找回?
  • mac系统自带的杀毒软件
  • 明日之后白树高地怎么钓凤尾鱼
  • centos 删除恢复
  • win8出现蓝屏怎么修复
  • win10预览版和正式版区别
  • ExtJS 2.0实用简明教程 之ExtJS版的Hello
  • 安卓listview的用法
  • AndEngine 《Android游戏开发实践指南》之“吸血鬼游戏”实例学习(一)
  • CCAssert(sm_pSharedApplication, "")导致程序闪退的原因以及解决方案
  • [置顶] 关于UNITY5.0和高通AR4.2.3在手机上白屏的问题
  • node.js redis
  • unity projector
  • cmd 字符集
  • android 控件居中
  • python批量ping
  • 发票缴销办理流程图
  • 国家税务总局39号文
  • 江苏省常熟市归哪管
  • 误餐费报销管理办法
  • 城镇土地使用税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设