Vue删除

本文介绍了在Vue.js中如何实现人员列表的删除功能,详细讲解了v-for指令用于遍历不同类型的值,如对象的键值对,并展示了代码示例。同时,探讨了v-model和v-bind的区别,v-model主要用于表单元素的双向绑定,而v-bind则用于单向数据绑定,特别是在动态设置class实现动画效果时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、完成人员列表的删除功能

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <div>
        姓名:<input type="text" v-model="username"><br>
        性别:<input type="text" v-model="sex"><br>
        <button v-on:click="add">新增用户 </button>
    </div>
    <div>
        姓名:<input type="text" v-model="searchName"><br>
        <button @click="search">查询用户</button>
    </div>
    <table>
        <thead>
            <tr>
                <td><input type="checkbox"></td>
                <td>名字</td>
                <td>性别</td>
                <td>操作</td>
            </tr>
        </thead>
        <tbody>
            <tr v-for="(user , index) in search(searchName)">
                <td><input type="checkbox"></td>
                <td>{{user.name}}</td>
                <td>{{user.sex}}</td>
                <td><button @click="del(index)">删除</button></td>
            </tr>
        </tbody>
    </table>
</div>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            username:'',
            sex:'',
            searchName:'',
            users:[

                {name:'罗小黑',sex:'男'},
                {name:'罗中黑',sex:'男'},
                {name:'罗大黑',sex:'男'},
                {name:'罗超大黑',sex:'男'},
            ],

        },
        methods:{
            add(){
               // alert(this.username);
                //alert(this.sex);
                user={
                    name:this.username,
                    sex:this.sex,
                }
                this.users.push(user);
            },
            del(index){
                this.users.splice(index,1);
            },
            search(s){
                var resultArray= this.users.filter((user)=> {
                    var  flag = user.name.includes(s);
                    //console.log(user.name+this.searchName);
                    Object.values(user).join('').includes(s);
                    return flag;

                })
                return resultArray;
            }
        }
    })
</script>
</body>
</html>

2、vue的v-for语法可以遍历那些值,分别写出遍历不同值的代码
这是第 {{i}} 个P标签
迭代data中的普通对象
{{val}} — {{key}} — {{i}}
角标:{{index}}------ 键名: {{key}} ------ 值:{{value}}
3、文字叙述v-model和v-bind的差别
1.v-model:
主要是用在表单元素中,它实现了双向绑定。在同事使用v-bind和v-model中,v-model建立的双向绑定对输入型元素input, textarea, select等具有优先权,会强制实行双向绑定。很多时候v-model使用在表单的中实现双向绑定。
2.v-bind:
eg:v-bind:class 可简写为 :class;
当加上v-bind:之后,它的值classe不是字符串,而是vue实例对应的data.classed的这个变量。也就是说data.classed是什么值,它就会给class属性传递什么值,当data.classed发生变化的时候,class属性也发生变化,这非常适合用在通过css来实现动画效果的场合。他只是单向变动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值