Vue案例

阅读 45

2022-01-11

效果图:

增加:

删除:

点击之后:

 还有如果增加为空的话,弹出提示框。

 初学Vue的时候可以拿这个小案例练练手哦,需要的代码看看

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        table{
            width: 500px;
            height: 300px;
            border: 1px solid gray;
        }
        table tr td{
            text-align: center;
        }
    </style>
     <script src="vue.js"></script> 
    <title>学生信息案例</title>
</head>
<body>
    <div id="app">
        <h2>学员信息表</h2>
        <p>姓名:<input type='text' v-model="name"></p>
        <p>年龄:<input type='text' v-model="age"></p>
        <p>性别:<input type='text' v-model="sex"></p>
        <p>学籍:<input type='text' v-model="sheng"></p>
        <button @click="add()">添加</button>
        <table>
            <tr>
                <td>姓名</td>
                <td>年龄</td>
                <td>性别</td>
                <td>学籍</td>
                <td>操作</td>
            </tr>
            <tr v-for="(item,index) in stus" :key="index">
                <td>{{item.name}}</td>
                <td>{{item.age}}</td>
                <td>{{item.sex}}</td>
                <td>{{item.sheng}}</td>
                <td><button @click="del(index)">删除</button></td><!--删除的时候传入一个实数-->
            </tr>
        </table>
    </div>
    <script>
        new Vue({
            el:'#app',
            data:{
                stus:[
                    {name:'张三',age:18,sex:'男',sheng:'北京'},
                    {name:'李四',age:28,sex:'男',sheng:'上海'},
                    {name:'王五',age:31,sex:'男',sheng:'广州'},
                    {name:'赵六',age:45,sex:'男',sheng:'深圳'},
                ],
                name:'',
                age:'',
                sex:'',
                sheng:'',
            },
            methods: {
                add(){

                    //增加时做一个不能为空的判断
                    if(this.name==''){alert('信息不能为空'); return false;}
                    if(this.age==''){alert('信息不能为空'); return false;}
                    if(this.sex==''){alert('信息不能为空'); return false;}
                    if(this.sheng==''){alert('信息不能为空'); return false;}
                    //拼接所有输入的信息成为stus数组的的对象格式
                    //不叫拼接不是在挎号里,在对象中不用拼接叫做'组装'
                    let newMsg={name:this.name,age:this.age,sex:this.sex,sheng:this.sheng}
                    this.stus.push(newMsg);

                },
                del(i){ //接收形参
                     let newMsg={name:this.name,age:this.age,sex:this.sex,sheng:this.sheng}
                    this.stus.splice(i,1) 
                     alert(i)
                   
                }
            },

        })
    </script>
</body>
</html>
<!-- 
    认识Vue用数据(data)来实现dom元素的变化的
 -->

注意vue.js自己引用一下, <script src="vue.js"></script>路径可以得改一下。

精彩评论(0)

0 0 举报