CRUD operation using VUEJS

CRUD operation using VUEJS

In this tutorial we have completed CRUD operation using VueJS . For this tutorial we have first created html code for displaying student list , Create student , Edit student and Delete student. We have also created VueJS code for CRUD operation. We have used VueJS for creating VueJS component and VueJS for CRUD operation. We have used Students Array for storing Data . To understand below code you need to first know about HTML , CSS AND VUEJS. For learning all three you need to visit following link : https://w3schools.com

<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>VueJS CRUD operation</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.0/axios.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.5.1/vue-resource.min.js"></script>

<style>
.container{
margin-top: 100px;
}
</style>
</head>
<!--define vuejs app in body tag -->
<body >
<div class="container" v-cloak id="app">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h3>Student List</h3>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>Roll Number</th>
<th>Name</th>
<th>Address</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr v-for="student in students">
<td>{{student.rollnumber}}</td>
<td>{{student.name}}</td>
<td>{{student.address}}</td>
<td>
<button class="btn btn-primary" @click="editStudent(student)">Edit</button>
<button class="btn btn-danger" @click="deleteStudent(student)">Delete</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container" v-if="edit">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h3>Edit Student</h3>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-12">
<form @submit.prevent="update
">
<div class="form-group">
<label for="rollnumber">Roll Number</label>
<input type="text" class="form-control" v-model="editStudent.rollnumber">
</div>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" v-model="editStudent.name">
</div>
<div class="form-group">
<label for="address">Address</label>
<input type="text" class="form-control" v-model="editStudent.address">
</div>
<button type="submit" class="btn btn-primary">Update</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container" v-if="create">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h3>Create Student</h3>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-12">
<form @submit.prevent="createStudent
">
<div class="form-group">
<label for="rollnumber">Roll Number</label>
<input type="text" class="form-control" v-model="newStudent.rollnumber">
</div>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" v-model="newStudent.name">
</div>
<div class="form-group">
<label for="address">Address</label>
<input type="text" class="form-control" v-model="newStudent.address">
</div>
<button type="submit" class="btn btn-primary">Create</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
// write vueJS code such that it create update list and delete student object in array not through RESTAPI API

var app = new Vue({
el: '#app',
data: {
students: [],
edit: false,
create: false,
newStudent: {
rollnumber: '',
name: '',
address: ''
},
editStudent: {
rollnumber: '',
name: '',
address: ''
}
},
methods: {
createStudent: function(){
var self = this;
self.newStudent.rollnumber =
self.students.push(self.newStudent);
self.newStudent = {
rollnumber: '',
name: '',
address: ''
};
self.create = false;
},
editStudent: function(student){
this.editStudent = student;
this.edit = true;
},
update: function(){
var self = this;
self.students.splice(self.students.indexOf(self.editStudent), 1, self.editStudent);
self.editStudent = {
rollnumber: '',
name: '',
address: ''
};
self.edit = false;
},
deleteStudent: function(student){
var self = this;
self.students.splice(self.students.indexOf(student), 1);
}
},
mounted: function(){
var self = this;
self.newStudent.rollnumber = "New"
self.newStudent.name = "New"
self.newStudent.address = "New"

self.students.push(this.newStudent);
self.newStudent = {
rollnumber: '',
name: '',
address: ''
};
}
});

 

 

 

</script>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

<script src="https://cdn.jsdelivr.net/npm/vue-router/dist/vue-router.js"></script>
</body>

</html>




Taher Ali Badnawarwala

Taher Ali, drives to create something special, He loves swimming ,family and AI from depth of his heart . He loves to write and make videos about AI and its usage


Leave a Comment


No Comments Yet

Leave a Reply

Your email address will not be published. Required fields are marked *