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

这篇具有很好参考价值的文章主要介绍了Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于 Vue3.x + Vant UI 的多功能记账本(三)


系列内容 参考链接
基于 Vue3.x + Vant UI 的多功能记账本(一) 项目演示,涉及知识点
基于 Vue3.x + Vant UI 的多功能记账本(二) 搭建开发环境

项目演示

Vue3 + Vant UI_多功能记账本

vue3 vant-tabbar demo,Vue3.x + Vant UI 项目实战,vue.js,ui,javascript,Vue3.0,前端

开发导航栏

1、底部导航栏

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

NavBar.vue

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

vue3 vant-tabbar demo,Vue3.x + Vant UI 项目实战,vue.js,ui,javascript,Vue3.0,前端

<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,打开浏览器可以看到…

vue3 vant-tabbar demo,Vue3.x + Vant UI 项目实战,vue.js,ui,javascript,Vue3.0,前端

2、测试底部导航栏

./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>

vue3 vant-tabbar demo,Vue3.x + Vant UI 项目实战,vue.js,ui,javascript,Vue3.0,前端


vue3 vant-tabbar demo,Vue3.x + Vant UI 项目实战,vue.js,ui,javascript,Vue3.0,前端

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>

vue3 vant-tabbar demo,Vue3.x + Vant UI 项目实战,vue.js,ui,javascript,Vue3.0,前端

写到最后(附源码)

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

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

心动不如行动

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

源码放在了下方的微信公众号里【回复:记账本】即可文章来源地址https://www.toymoban.com/news/detail-785255.html

到了这里,关于Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3+vite+vant UI移动端项目创建保姆级教程

    vue3 默认端口5173 想要把端口号修改为8088,在vite.config.js中写入 安装插件flexible (适配移动端) 在main.js中引入 安装 postcss-pxtorem (把px转化为rem) 安装这个之后 开发过程中就可以写px了 插件会自动转化为移动端单位rem 配置自动按需引入组件 安装插件 在vite.config.js中配置插件 适配

    2024年04月16日
    浏览(45)
  • vue3+vant创建移动端项目,实战项目常见采坑记录

    前言: 产品背景介绍 我所做的这个项目,刚开始是没有移动端需求的,等PC端做完了上线使用了几个月后,突然有一天产品经理找到我说是要做一个在PC端添加一个快速注册入口,用手机微信扫二位码进入移动端注册页面,用户注册。 所以本次需求就是在PC端添加一个tool-t

    2023年04月17日
    浏览(37)
  • uni-app(Vue3/Vite) + vant UI(Vue3版本)+ js 按需引入的项目搭建

            因为要完成软件工程的项目,要做一个nativeApp,看了很多的技术文档以后决定使用多端兼容的uni-app来开发。组件方面的话最后决定使用目前比较火的Vant UI。但是看了CSDN和掘金上面的很多文章,似乎没有一篇是关于uni-app中使用Vite对vant组件进行按需引入(可能这个

    2023年04月09日
    浏览(54)
  • uni-app Vue3实现一个酷炫的多功能音乐播放器支持微信小程序后台播放

    本文存在多张gif演示图,建议在 wifi 环境下阅读📖 最近在做网易云音乐微信小程序开源项目的时候,关于 播放器功能 参考了一些成熟的微信小程序,如 网易云音乐小程序 和 QQ音乐小程序 ,但是发现这些 小程序端 的播放器相对于 APP端 来说较简单,只支持一些基础功能,

    2024年01月24日
    浏览(53)
  • 【Vue H5项目实战】从0到1的自助点餐系统—— 搭建脚手架(Vue3.2 + Vite + TS + Vant + Pinia + Node.js)

    H5 项目基于 Web 技术,可以在智能手机、平板电脑等移动设备上的浏览器中运行,无需下载和安装任何应用程序,且H5 项目的代码和资源可以集中在服务器端进行管理,只需更新服务器上的代码,即可让所有顾客访问到最新的系统版本。 本系列将以肯德基自助点餐页面为模板

    2024年02月13日
    浏览(49)
  • HBuilder创建uniapp项目(Vue3、Vant Weapp)

    一、准备工作     1.下载HBuilder ——uni-app(https://uniapp.dcloud.io/)     2.下载微信开发者工具:         https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html 二、创建项目     1.在点击工具栏里的文件 - 新建 - 项目:     2.选择uni-app类型,输入工程名,选择模板,

    2023年04月08日
    浏览(35)
  • vue3+vite+vant4手机端项目实录

    目录 一、项目介绍 二、项目的搭建 1.vite的安装 2.启动vite项目  3.vant4的引入与使用 3.1安装指令 npm i vant 3.2引入vant4 4.路由router的引入 4.1安装指令 4.2路由配置 5.路径别名设置 6.json-server 6.1json-server安装 6.2json-server启动项配置 6.3启动命令:npm run mock 7.axios请求数据 7.1安装axios依

    2024年02月03日
    浏览(52)
  • uniapp+vue3项目中使用vant-weapp

    创建项目 通过vue-cli命令行创建项目 Vue3/Vite版要求 node 版本 ^14.18.0 || =16.0.0 uni-app官网 (dcloud.net.cn) 打开项目 点击顶部菜单栏终端/新建终端 执行安装依赖指令 安装vant-weapp 引入vant-weapp 在  /src目录下 创建  wxcomponents  目录 复制node_modules/@vant/weapp/dist文件夹到 wxcomponents文件夹

    2024年02月13日
    浏览(39)
  • 【微信小程序开发】宠物预约医疗项目实战-环境配置与Vant UI集成

    第一章 宠物预约医疗项目实战-环境配置与Vant UI集成 Vant是一个轻量、可靠的移动端组件库,于2017年开源。目前Vant官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 微信小程序版本的Vant组件库是Vant Weapp,其官方文档是

    2024年02月07日
    浏览(33)
  • 【项目实战】基于Vue3+TypeScript+Pinia的后台管理系统(coderwhy)

    是基于Vue3、Pinia、VueRouter、Vite、ElementPlus、TypeScript、Echarts等后台系统 https://documenter.getpostman.com/view/12387168/TzzDKb12 baseURL = ‘http://codercba.com:5000’ postman详细使用可以自己搜 也可以使用其他接口管理的工具 给项目添加 环境变量 baseURL https://gitee.com/yangyang993/vue3_ts_cms_admin.git 登录

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包