基于VUE实现简单的学生信息管理系统


Posted in Vue.js onJanuary 13, 2021

 一、主要功能

本次任务主要是使用VUE来实现一个简单的学生信息管理系统,主要功能为:

1.显示所有学生的信息(默认为10个)
2. 点击按钮,显示出学号尾号为单数(或双数)的学生信息
3. 增加学生信息
4. 要求使用VUE中 父子组件间通信

二、实现思路

1.数据管理:使用json数组的方式来管理储存数据
2.显示学生信息:因为组件是可复用的 Vue 实例,所以在这里引入子组件(用来显示每个学生的信息),将主页作为父组件。主页(父组件)使用v-for循环显示子组件。
3.按单双号筛选查找学生:循环遍历json数组,进行判断,把符合条件的信息放到新的json数组。
4.使用 v-if 把符合筛选条件的学生信息显示在主页上。

三、代码实现

1、父子组件定义

父组件 :首先要定义要调用的组件

export default {
 name: 'HelloWorld',
 components: {
 ChildCom//调用组件
 },

子组件:

export default {
 name: 'Child',
 props: [
 'card_item'
 ],
 data () {
 return {
 }
 }
}

2、组件中的通信

组件是通过Prop向子组件传递数据的

父组件:使用v-for 遍历学生信息数组
通过:card_item(子组件定义的接受数据的名字) = “stu”(父组件传给子组件的数据)

<div v-if="flag_danshu==1">
<Child-com id="1" class="list" v-for="(stu,index1) in new_list_danshu" :key="index1" :card_item="stu" >
</Child-com>
</div>
 <div v-else-if="flag_shuangshu==1">
<Child-com id="2" class="list" v-for="(stu,index2) in new_list_shuangshu" :key="index2" :card_item="stu" >
</Child-com>
</div>
 <div v-else-if="flag_all==1">
<Child-com id="3" class="list" v-for="(stu,index3) in stu_list" :key="index3" :card_item="stu">
</Child-com>
</div>

子组件:

<div>姓名:{{ card_item.name }} </div>
  <div>学号:{{card_item.stuId}}</div>
  <div v-if="card_item.gender==1">性别:男</div>
  <div v-else>性别:女</div>

3、显示出学号尾号为单数(或双数)的学生信息(以单数为例)

danshu (stu_list) {
  this.new_list_danshu=[];
  stu_list.forEach((item) => {
   if(item.stuId%2!=0)
   this.new_list_danshu.push(item);//符合条件则加进用来存储单数信息的json数组
   }
  )
  // alert(this.new_list[1]);
  this.flag_all=0; //显示全部
  this.flag_danshu=1;//显示单数
  this.flag_shuangshu=0;//显示双数
  
 },

4、增加学生信息

add:function(){
 var name = document.getElementById("stu_name").value;
 var id = document.getElementById("stu_id").value;
 var gender = document.getElementById("stu_gender").value;
 if(name==''||id==''||gender==''){
  alert('请完善信息');
  }
  else{
  var item ={};
  item.stuId=id;
  item.name=name;
  item.gender=gender;
  this.stu_list.push(item);
  alert('添加成功');
  
  }
 }

四、效果展示

主页

基于VUE实现简单的学生信息管理系统

显示学号尾号为单数的学生信息

基于VUE实现简单的学生信息管理系统

增加学生信息

基于VUE实现简单的学生信息管理系统

五、总结

虽然只是很小的一个demo,但在完成中还是遇到了很多问题,比如要注意 v-show 和v-if的区别。一开始,本来想使用v-show来按筛选条件来显示不同的学生信息,但是发现就算不符合当前条件的学生信息还是被渲染并且显示出来了,通过寻求帮助,才发现如果我们要显示多个页面,并且这些页面是互斥的关系话,我们使用v-if ,v-else-if,v-else 来显示。

以下是v-show 和 v-if 的区别

v-if只有在判断为true的时候才会对数据进行渲染,false的时候把包含的代码进行删除。除非再次进行数据渲染,v-if才会重新判断。可以说是用法比较倾向于对数据一次操作。
v-show是无论判断是什么都会先对数据进行渲染,只是false的时候对节点进行display:none;的操作。所以再不重新渲染数据的情况下,改变数据的值可以使数据展示或隐藏。

到此这篇关于基于VUE实现简单的学生信息管理系统的文章就介绍到这了,更多相关vue学生信息管理系统内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

到此这篇关于基于VUE实现简单的学生信息管理系统的文章就介绍到这了,更多相关vue学生信息管理系统内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
vue 中this.$set 动态绑定数据的案例讲解
Jan 29 Vue.js
Vue如何实现变量表达式选择器
Feb 18 Vue.js
VUE实现吸底按钮
Mar 04 Vue.js
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
开发一个封装iframe的vue组件
Mar 29 Vue.js
原生JS封装vue Tab切换效果
Apr 28 Vue.js
关于Vue Router的10条高级技巧总结
May 06 Vue.js
Vue实现导入Excel功能步骤详解
Jul 03 Vue.js
在vue中import()语法不能传入变量的问题及解决
Apr 01 Vue.js
Vue+TypeScript中处理computed方式
Apr 02 Vue.js
vue实现书本翻页动画效果实例详解
Apr 08 Vue.js
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 #Vue.js
vue自定义组件实现双向绑定
Jan 13 #Vue.js
Vue页面渲染中key的应用实例教程
Jan 12 #Vue.js
Vue项目中使用mock.js的完整步骤
Jan 12 #Vue.js
vue 页面跳转的实现方式
Jan 12 #Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 #Vue.js
详解template标签用法(含vue中的用法总结)
Jan 12 #Vue.js
You might like
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PHP Directory 函数的详解
2013/03/07 PHP
phpmyadmin config.inc.php配置示例
2013/08/27 PHP
php object转数组示例
2014/01/15 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
Js的MessageBox
2006/12/03 Javascript
JavaScript 乱码问题
2009/08/06 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
使用Jquery实现每日签到功能
2015/04/03 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
python负载均衡的简单实现方法
2018/02/04 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
优秀毕业生求职信范文
2014/01/02 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
Python MNIST手写体识别详解与试练
2021/11/07 Python