当前位置:首页 > VUE

用vue实现系统首页

2026-02-24 12:56:13VUE

使用Vue实现系统首页

项目初始化

使用Vue CLI创建新项目:

vue create system-homepage
cd system-homepage

安装常用依赖:

npm install axios vue-router element-ui

目录结构

典型目录结构如下:

src/
├── assets/          # 静态资源
├── components/      # 公共组件
│   ├── Header.vue
│   ├── Sidebar.vue
│   └── Footer.vue
├── views/           # 页面视图
│   ├── Home.vue
│   ├── Dashboard.vue
│   └── About.vue
├── router/          # 路由配置
│   └── index.js
├── App.vue          # 根组件
└── main.js          # 入口文件

基础布局实现

在App.vue中设置基础布局框架:

<template>
  <div id="app">
    <Header />
    <div class="main-container">
      <Sidebar />
      <router-view class="content"/>
    </div>
    <Footer />
  </div>
</template>

<script>
import Header from './components/Header'
import Sidebar from './components/Sidebar'
import Footer from './components/Footer'

export default {
  components: { Header, Sidebar, Footer }
}
</script>

<style>
#app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.main-container {
  display: flex;
  flex: 1;
}
.content {
  flex: 1;
  padding: 20px;
}
</style>

路由配置

在router/index.js中配置基本路由:

import Vue from 'vue'
import Router from 'vue-router'
import Home from '../views/Home.vue'
import Dashboard from '../views/Dashboard.vue'

Vue.use(Router)

export default new Router({
  routes: [
    { path: '/', name: 'home', component: Home },
    { path: '/dashboard', name: 'dashboard', component: Dashboard }
  ]
})

首页组件实现

views/Home.vue示例:

<template>
  <div class="home">
    <h1>欢迎来到系统首页</h1>
    <el-card class="box-card">
      <div slot="header">
        <span>系统公告</span>
      </div>
      <div v-for="(item,index) in notices" :key="index">
        {{ item.title }} - {{ item.date }}
      </div>
    </el-card>
  </div>
</template>

<script>
export default {
  data() {
    return {
      notices: [
        { title: '系统维护通知', date: '2023-05-01' },
        { title: '新功能上线', date: '2023-04-15' }
      ]
    }
  }
}
</script>

<style scoped>
.home {
  padding: 20px;
}
.box-card {
  margin-top: 20px;
  width: 80%;
}
</style>

数据请求封装

创建utils/request.js封装axios:

import axios from 'axios'

const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API,
  timeout: 5000
})

service.interceptors.request.use(
  config => {
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

export default service

响应式设计

使用媒体查询实现响应式:

@media screen and (max-width: 768px) {
  .main-container {
    flex-direction: column;
  }
  .box-card {
    width: 100%;
  }
}

部署准备

配置vue.config.js:

用vue实现系统首页

module.exports = {
  publicPath: process.env.NODE_ENV === 'production'
    ? '/system-homepage/'
    : '/',
  outputDir: 'dist',
  assetsDir: 'static'
}

这个实现方案包含了系统首页的基本框架,可根据实际需求扩展功能模块,如添加用户登录状态管理、权限控制等功能。Element UI组件库提供了丰富的UI组件可以快速构建界面,axios处理数据请求,vue-router管理页面路由。

标签: 首页系统
分享给朋友:

相关文章

php实现博客系统

php实现博客系统

数据库设计 创建MySQL数据库表存储博客内容。主要需要posts表(文章)、categories表(分类)、users表(用户)和comments表(评论)。以下是核心表的SQL示例: CREAT…

vue实现拖拽首页

vue实现拖拽首页

Vue 实现拖拽首页功能 实现拖拽功能通常需要结合 Vue 的指令和第三方库,以下是几种常见的方法: 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以通过 Vue 的指…

vue实现首页骨架屏

vue实现首页骨架屏

Vue 实现首页骨架屏的方法 骨架屏(Skeleton Screen)是一种提升用户体验的加载效果,通过在内容加载前展示页面布局的占位图,减少用户等待的焦虑感。以下是几种常见的实现方式: 使用 CS…

vue实现点餐系统

vue实现点餐系统

实现点餐系统的基本思路 使用Vue.js实现点餐系统需要结合前端框架特性,合理设计组件结构和数据流。以下为关键实现步骤: 核心组件结构设计 MenuList组件:展示菜品列表,包含图片、名称、价格和…

css制作腾讯首页

css制作腾讯首页

布局结构分析 腾讯首页采用经典的顶部导航+主体内容+底部信息的结构。顶部包含Logo、导航栏和登录入口,主体分为新闻资讯、视频、广告位等模块,底部为版权信息和链接。 基础HTML结构 <!DO…

css制作淘宝首页

css制作淘宝首页

制作淘宝首页的CSS方法 淘宝首页是一个复杂的电商平台页面,包含导航栏、轮播图、商品展示等多个模块。以下是实现类似淘宝首页的CSS关键步骤。 布局与结构 使用Flexbox或Grid布局实现整体框架…