Vue.js 搭建用户管理系统

目录

一、前言

二、搭建项目过程

2.1 配置json-server

2.2 新建vue项目

2.3 项目目录解析

2.4 初探组件,搭建导航

2.5 获取并展示用户信息

2.6 添加用户

2.7 弹窗及详情

2.7.1 弹窗 alert.vue组件

2.7.2 详情组件 customersdetails.vue

2.8 编辑和删除

2.8.1 编辑Edit. vue组件

2.8.2 删除用户信息

 2.9 实现搜索功能

三、总结


一、前言

通过编写一个简单的用户管理系统,实现用户信息的增删改查,熟悉Vue的开发流程。整个项目的实现基于Vue全家桶技术及bootstrap页面布局。

二、搭建项目过程

2.1 配置json-server

开始之前我们要做一个准备工作,在做项目中我们常常无法获取后端的数据,此时就要配置mock数据来模拟请求以及请求回来的过程。json-server是一个很好的可以替我们完成这一工作的工具。我们只需要提供一个json文件,或者写几行简单的js脚本就可以模拟出RESTful API的接口

  • 安装json-server
cnpm install -g json-server --save
  • 创建db.json文件

这是我们在项目中用到的数据

{
  "users": [
    {
      "name": "Alice",
      "phone": "333-444-555",
      "email": "canidy@ewsdsd.com",
      "education": "dsds",
      "graduationschool": "dsds",
      "profession": "dsds",
      "profile": "dsds",
      "id": "1"
    },
    {
      "name": "Back",
      "phone": "333-444-555",
      "email": "canidy@ewsdsd.com",
      "education": "dsds",
      "graduationschool": "dsds",
      "profession": "dsds",
      "profile": "dsds",
      "id": "2"
    },
    {
      "name": "json",
      "phone": "333-444-555",
      "email": "canidy@ewsdsd.com",
      "education": "dsds",
      "graduationschool": "dsds",
      "profession": "dsds",
      "profile": "dsds",
      "id": "3"
    },
    {
      "name": "cookie",
      "phone": "333-444-555",
      "email": "canidy@ewsdsd.com",
      "education": "dsds",
      "graduationschool": "dsds",
      "profession": "dsds",
      "profile": "dsds",
      "id": "4"
    },
    {
      "name": "小惠惠",
      "phone": "15829705916",
      "email": "1269146785@qq.com",
      "education": "博士",
      "graduationschool": "交通大学",
      "profession": "MBA",
      "profile": "真好看",
      "id": "5"
    }
  ]
  
}
  • 在浏览器中运行 JSON Server
json-server --watch db.json

如果我们每次查看json文件,都这样输一次就比较麻烦,所以我们进行改进,在package.json 文件中的"scripts"内容中添加

 "scripts": {
    "json": "json-server --watch db.json",
  },

这样我们就可以使用 cnpm run json 运行

关于json-server具体内容可参考https://www.npmjs.com/package/json-server

2.2 新建vue项目

  • 下载Node.js
  • 安装淘宝镜像
 npm install -g cnpm --registry=https://registry.npm.taobao.org
 cnpm install cnpm -g   //升级淘宝镜像
  • 安装脚手架
cnpm install –g vue-cli 
  • 开启新项目
vue init webpack-simple vcustomers
cd vcustomers
cnpm install
cnpm run dev

2.3 项目目录解析

2.4 初探组件,搭建导航

利用vue的页面组件化思想,将页面切换成几个部分,从而有利于页面的拼装以及代码的维护

  • App.vue组件

App.vue是我们的主组件,所有页面都是在App.vue下进行切换的,在主组件中搭建导航部分

<template>
  <div id="app">
  <nav class="navbar navbar-default">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#">用户管理系统</a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
          <ul class="nav navbar-nav">
            <li><router-link to="/">主页</router-link></li>
            <li><router-link to="/about">关于我们</router-link></li>
          </ul>
            <ul class="nav navbar-nav navbar-right">
               <li><router-link to="/add">添加用户</router-link></li>
             </ul>
        </div>
      </div>
    </nav>
    <router-view></router-view>
  </div>
</template>

<script>
import customers from "./Components/Customers.vue";
import about from "./Components/About.vue";
export default {
  name: "app",
  components: {
    customers: customers,
    about: about
  },
  data() {
    return {
      msg: "我是App组件"
    };
  }
};
</script>

<style lang="scss">
</style>

 

  • 安装及封装路由

具体就不介绍啦,在之前的博客中有详细的路由配置,传参,封装的文章

import Vue from "vue";
import vueRouter from "vue-router"
// 引入组件
import customers from "../Components/Customers.vue";
import a
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值