vue小项目---管理系统

在上一篇文章中我们已经学习了vue的基本语法,常用属性,了解了vue的基本使用,现在让我们用vue配合Bootstrap来完成一个小项目。

首先导入Bootstap文件。

<link rel="stylesheet" type="text/css" href="css/bootstrap.css"/>

导入完成后,用Boostrap的各种组件,完成一个基本的页面:

 <div id="app">
                    <table class="table table-hover ">
                        <br />
                        <thead>
                            <tr>
                                <th>序号</th>
                                <th>书名</th>
                                <th>作者</th>
                                <th>价格</th>
                                <th>操作</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr v-for="book in filterBooks">
                                <td>{{book.id}}</td>
                                <td>{{book.name}}</td>
                                <td>{{book.author}}</td>
                                <td>{{book.price}}</td>
                                <template v-if="book.id%2==0">
                                        <td class="text-left">
                                            <button type="button" class="btn btn-success" class="del" @click="delBook(book)">删除</button>
                                            <button type="button" class="btn btn-success" @click="updateBook(book)">修改</button>
                                        </td>
                                </template>
                                <template v-else>
                                        <td class="text-left">
                                            <button type="button" class="btn btn-danger" class="del" @click="delBook(book)">删除</button>
                                            <button type="button" class="btn btn-danger" @click="updateBook(book)">修改</button>
                                        </td>
                                </template>
                            </tr>
                        </tbody>
                    </table>

                    <div id="add-book">
                        <div class="row" style="margin-bottom: 30px;">
                        <div class="col-md-3" style="text-align: right;font-size: 16px;line-height: 30px;">
                            请输入书名
                        </div>
                        <div class="col-md-5">
                            <input type="text" class="form-control" v-model="search"/>
                        </div>
                    </div>

                        <h3>添加书籍</h3>
                        <hr />
                        <div class="form-group">
                            <label for="group">书名</label>
                            <input type="text" class="form-control" id="group" v-model="book.name">
                        </div>
                        <div class="form-group">
                            <label for="author">作者</label>
                            <input type="text" class="form-control" id="author"v-model="book.author">
                        </div>
                        <div class="form-group">
                            <label for="price">价格</label>
                            <input type="text" class="form-control" id="price" v-model="book.price">
                        </div>
                        <button class="btn btn-primary btn-block" v-on:click="addBook">添加</button>
                    </div>

                    <div id="update-book">

                        <h3>修改书籍</h3>
                        <hr />
                        <div class="form-group">
                            <label for="group1">书名</label>
                            <input type="text" class="form-control" id="group1" v-model="book.name">
                        </div>
                        <div class="form-group">
                            <label for="author1">作者</label>
                            <input type="text" class="form-control" id="author1"v-model="book.author">
                        </div>
                        <div class="form-group">
                            <label for="price1">价格</label>
                            <input type="text" class="form-control" id="price1" v-model="book.price">
                        </div>
                        <button class="btn btn-primary btn-block" @click="updatesBook">完成</button>
                    </div>
                </div>
            </div>
        </div>

这样页面我们就做好了,效果如下:

然后导入vue文件

<script src="js/vue.min.js"></script>

新建一个自己的JS文件

首先完成添加功能:

new Vue({
    el:"#app",
        methods:{
            addBook:function(){
            this.book.id = this.books.length+1;
            this.books.push(this.book);
            this.book={};
        },
        }

将addBook函数用v-on:click指令绑定到添加按钮上。

这样添加功能就完成了。

测试一下:

然后我们再完成删除功能:

delBook: function(book) {
            var blength = this.books.length;
            this.books.splice(book.id-1, 1);
            for( var i = 0; i < blength ; i++) {
                if(book.id < this.books[i].id) {
                    this.books[i].id -= 1;
                }
            }
        },

更新功能

updateBook: function(book) {
            $("#add-book").css("display","none");
            $("#update-book").css("display","block");
            id = book.id;
        },
        updatesBook:function() {
            this.book.id = id;
              this.books.splice(id-1,1,this.book);
              $("#add-book").css("display","block");
            $("#update-book").css("display","none");
            this.book = {};
         }
    },

这样利用vue实现的管理系统就大体完成了。

时间: 2024-10-16 22:14:04

vue小项目---管理系统的相关文章

Vue小项目二手书商城:(二)axios前后端数据交互

一.写接口 1.我们要在前端取到后端的数据(之前写的data.json)可以用vue-resourse或者用axios,在vue2之后官方就不再维护vue-resourse,推荐使用axios. 2.在axios取到数据前要先写一下路由接口,不同版本vue-cli建的文件目录有一点不一样. 我用的是vue2.5.2,写路由接口是在build文件夹下的某文件,以下分别列出高版本和低版本写法: ①2.5.2版本 文件里加上这些程序: devServer里加上: ②低版本 文件里加上这些程序: 二.使

web实践小项目&lt;一&gt;:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进行整理,希望能给其他初学者提供参考,也希望有大神在浏览我粗糙的开发过程中能指出一些意见或建议. (阅读以下内容需要有一定的html/css,javascript,python和sql基础,and谢谢阅读!) 注:实践中的环境为ubuntu 14.04操作系统,python3.4(2.7实测也可行),

C++小项目-本校科协管理系统

前几天老师说让我把之前做过的一个小项目修改一下,用于新成员练手.想到在我刚接触面向对象编程的时候,也是急需一个小的case来熟悉和深入对C++的理解,现在搞的这个东西,希望可以帮到学弟学妹们,嘻嘻. 正好刚刚看完<Effective C++>和<More Effective C++>,就对原有的代码进行了一些扩展. 先截几个图上来 1.主界面 2.显示菜单 3.增加菜单 [代码] 引擎部分 KeXie  类 抽象基类,成员变量包含会员信息登记表中的内容,成员函数 包括 获取成员变量

vue练手小项目--眼镜在线试戴

最近看到了一个眼镜在线试戴小项目使用纯js手写的,本人刚学习vue.js没多久,便试试用vue做做看了,还没完善. 其中包括初始图片加载,使用keywords查找,父子组件之间传递信息,子组件之间传递信息 1. 使用keywords查找 1.1 给每个li添加初始data smallImg: [ { keywords: "椭圆脸", src: "images/model_1.jpg", addClass: false }, { keywords: "圆形脸

python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)

''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_name -grades (多对多 关联班级表) ''' 在写小项目之前我们先复习一下小知识: 1. form表单提交数据的注意事项: 是form不是from,必须要有method和action 所有获取用户输入的表单标签要放在form表单里面,表单标签必须要有name属性 form表单必须要有su

Java小项目之:图书馆管理系统!有借有还再借不难!

Java小项目之:图书馆管理系统!今天给大家分享的java小项目是图书馆管理系统.这个图书馆管理系统是很完善的,包括书籍信息录入.借阅者信息.书籍类别添加.新书订购等等功能.和现实生活中的图书馆管理系统没什么两样,毫不夸张的说,你只要学会了今天我分享的这个小项目,以后自己创建一个图书馆管理系统是没一点问题的.按照惯例先上图: 部分代码展示:public class BookLoginIFrame extends JFrame { private class BookResetAction imp

小玩意儿之Gitlab 代码提交日志同步到禅道项目管理系统

以前都是使用禅道官方推荐的服务器本地扫描的方式,但其实不太方便,需要跟着项目的变化,不断的在配置文件维护项目相应仓库的配置. 然后现在Web Hooks越来越普遍的情况下,想尝试一种新的方式.看了禅道的Git模块Control中的代码后,发现了一个apiSync方法,于是有了思路: 覆盖其 git/apiSync 动作:并通过使用独立入口的方式回避其原有的鉴权机制,而通过 Gitlab 的 Hooks Secret Token来鉴权. 使用方法 将代码解压到禅道项目目录 生成一段随机字符串作为S

Vue.js项目模板搭建

前言 从今年(2017年)年初起,我们团队开始引入「Vue.js」开发移动端的产品.作为团队的领头人,我的首要任务就是设计 整体的架构 .一个良好的架构必定是具备丰富的开发经验后才能搭建出来的.虽然我有多年的前端开发经验,但就「Vue.js」来说,仍然是个新手.所幸「Vue.js」有一个配套工具「Vue-CLI」,它提供了一些比较成熟的项目模板,很大程度上降低了上手的难度.然而,很多具体的问题还是要自己思考和解决的. 项目划分 我们公司的H5产品大部分是嵌套在手机客户端里面的页面.每个项目的功能

基于plusgantt的项目管理系统实战开发

<基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自定义工作流)> 课程讲师:Adam 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring 3+JDBC+RMI的架构.jquery.工作流 涉及项目:项目管理系统 咨询QQ:1337192913(小公子) 本课程是某航空研究所的真正项目的缩影.在课程中,将实际项目的业务进行了缩减,但是主要的技术点全部都讲解到了. 课程内容虽然不多,但是麻雀虽小五脏俱全,通过学习本课程,可以掌握到