美文网首页
我的Vue笔记

我的Vue笔记

作者: 时间_73c5 | 来源:发表于2018-09-14 10:30 被阅读0次

分享一下我制作的Vue指令综合练习

效果如下图:


HTML代码如下:

步骤1:在一个div#app里分为两个部分

第一部分:制作的输入框

<fieldset>

            <legend>学生录入系统</legend>

            <div>

                <span>姓名:</span>

                <input type="text" placeholder="请输入姓名" v-model="newStudent.name">

            </div>

            <div>

                <span>年龄:</span>

                <input type="text" placeholder="请输入年龄" v-model="newStudent.age">

            </div>

            <div>

                <span>性别:</span>

                <select v-model="newStudent.sex">

                    <option value="男">男</option>

                    <option value="女">女</option>

                </select>

            </div>

            <div>

                <span>手机:</span>

                <input type="text" placeholder="请输入手机号码" v-model="newStudent.phone">

            </div>

            <button @click="createNewStu()">创建新用户</button>

        </fieldset>

解析:input用v-model实现动态绑定数据

第二部分:表格显示

<table>

            <thead>

                <tr>

                    <td>姓名</td>

                    <td>性别</td>

                    <td>年龄</td>

                    <td>手机</td>

                    <td>删除</td>

                </tr>

            </thead>

            <tbody>

                <tr v-for="(stu, index) in students" :key="index">

                    <td>{{stu.name}}</td>

                    <td>{{stu.sex}}</td>

                    <td>{{stu.age}}</td>

                    <td>{{stu.phone}}</td>

                    <td>

                        <button @click="delStudent(index)">删除</button>

                    </td>

                </tr>

            </tbody>

        </table>

解析:v-for遍历数组

css代码如下:

<style>

        #app {

            margin: 50px auto;

            width: 600px;

        }

        fieldset {

            border: 1px solid orangered;

            margin-bottom: 20px;

        }

        fieldset input {

            width: 200px;

            height: 30px;

            margin: 10px 0;

        }

        table {

            width: 600px;

            border: 2px solid orangered;

            text-align: center;

        }

        thead {

            background-color: orangered;

        }

    </style>

JS代码如下:

new Vue({

            el: '#app',

            data: {

                students: [

                    { name: '张三', sex: '女', age: 19, phone: '18921212121' },

                    { name: '李四', sex: '男', age: 29, phone: '18921221121' },

                    { name: '王五', sex: '女', age: 39, phone: '18921788721' },

                    { name: '赵六', sex: '男', age: 49, phone: '18921556121' }

                ],

                newStudent: { name: '', sex: '男', age: 0, phone: '' }

            },

            methods: {

                // 插入记录

                createNewStu() {

                    // 1. 姓名不能为空

                    if (this.newStudent.name === '') {

                        alert('姓名不能为空!');

                        return;

                    }

                    // 2. 验证年龄

                    if (this.newStudent.age <= 0) {

                        alert('请输入正确的年龄!');

                        return;

                    }

                    // 3. 验证手机

                    if (this.newStudent.phone === '') {

                        alert('请输入正确的手机号码!');

                        return;

                    }

                    // 4. 插入新纪录

                    this.students.unshift(this.newStudent);

                    // 5. 清空数据

                    this.newStudent = { name: '', sex: '男', age: 0, phone: '' }

                },

                // 删除记录

                delStudent(index) {

                    this.students.splice(index, 1);

                }

            }

        });

第一次制作,笔记很少,有所欠缺,希望有所提高!

如果你有幸读到这篇文章,希望不要吐槽啦。。。。。。

相关文章

网友评论

      本文标题:我的Vue笔记

      本文链接:https://www.haomeiwen.com/subject/ejgngftx.html