Vue项目4:Vue数据的增删查改

本博客在 Vue项目3 的基础上进行。

 

基本思路是添加Users组件,并用Vue对User的内容进行增加、删除、查询(显示User)、修改(样式)等操作。

 

1. 添加Users组件

1)在src/components目录下新建Users.vue,初始代码如下:

<template>
<div class="users">
<h1>Users</h1>
</div>
</template>

<script>
export default {
name: 'users',
data(){
return {

}
},
methods:{

}

}
</script>

<style scoped>

</style>

2)修改App.vue

使用Users组件:用import引入Users;在components语句中添加Users,并import引入Users

代码如下:

import Users from './components/Users'

export default {
name: 'App',
components: {
Test, Users
}
}

在div里使用<users></users>

<div id="app">
<users></users>
</div>

保存后,用npm run dev命令启动项目,浏览器显示如下:

 

2.增加Users用户

1)修改Users.vue,添加users用户数据,代码如下:

data(){
return {
users: [
{
name: 'zhangsan',
email: 'zs@abc.com',
contacted: false
},
{
name: 'lisi',
email: 'ls@abc.com',
contacted: false
},
{
name: 'wangwu',
email: 'ww@abc.com',
contacted: false
}
]
}
},

定义了3条数据,每条数据包括name、email、contaceted三个属性。

 

显示用户,在Users.vue的div里添加如下代码:

<div class="users">
<h1>Users</h1>
<ul>
<li v-for='user in users'>
{{user.name}}:{{user.email}}
</li>
</ul>
</div>

浏览器效果如下:

2)动态添加用户

通过input输入框动态添加用户 

修改Users.vue,添加form表单,代码如下:

<form v-on:submit="addUser">
<input type="text" v-model="newUser.name" placeholder="Enter Name">
<br>
<input type="text" v-model="newUser.email" placeholder="Enter Email">
<br>
<input type="submit" value="Submit">
</form>

添加addUser方法

methods:{
addUser: function(e){
console.log('add User');//控制台打印输出log
//将输入的内容添加到用户users中
this.users.push({
name: this.newUser.name,
email: this.newUser.email
});
e.preventDefault();//添加这句才看到console有输出
}

在data里添加newUser

newUser:{},

浏览器效果如下:

 

3.修改用户样式

思路:给用户添加checkbox多选框,设置选中时有横线穿过文字

修改Users.vue,在li里添加input,类型为checkbox的多选框,绑定数据为user.contacted,通过设置span的class为contacted来修改span样式,代码如下:

<ul>
<li v-for='user in users'>
<input type="checkbox" class="toggle" v-model="user.contacted">
<span :class="{contacted: user.contacted}">
{{user.name}}:{{user.email}}
</span>
</li>
</ul>

定义style样式

<style scoped>
.contacted{
text-decoration: line-through;
}
</style>

保存后浏览器效果如下:

 

4.删除用户

思路:添加删除用户按钮,点击按钮后执行删除方法

修改Users.vue,span内容右侧添加一个删除按钮<button v-on:click="deleteUser(user)">x</button>

<ul>
<li v-for='user in users'>
<input type="checkbox" class="toggle" v-model="user.contacted">
<span :class="{contacted: user.contacted}">
{{user.name}}:{{user.email}} <button v-on:click="deleteUser(user)">x</button>
</span>
</li>
</ul>

在methods添加deleteUser(user)方法

deleteUser: function(user){
this.users.splice(this.users.indexOf(user),1);//删除用户,indexOf为删除哪个用户,1为删除1条数据
}

保存后,刷新浏览器,如下:

点击删除按钮后,删除了一条数据,效果如下:

 

完成! enjoy it!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值