欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue实现简单的品牌列表功能(Vue)

程序员文章站 2022-03-03 10:01:05
...
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>商品列表案例</title>
    <script src="vue.js"></script>
    <link rel="stylesheet" href="bootstrap/css/bootstrap.css">
</head>
<body>
    <div id="app">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h3 class="panel-title">添加品牌</h3>
            </div>
            <div class="panel-body form-inline">
                <label>
                    ID:<input type="text" class="form-control" v-model="id">
                </label>
                <label>
                    Name:<input type="text" class="form-control" v-model="name">
                </label>
                <input type="button" value="添加" class="btn btn-primary" @click="add">
            </div>
        </div>
        <table class="table table-bordered table-hover table-striped">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Name</th>
                    <th>Ctime</th>
                    <th>Operation</th>
                </tr>
            </thead>
            <tbody>
                <!--list是data中的数组,item是在每一趟循环里面被赋予的值.-->
                <tr v-for="item in list" :key="item.id">
                    <td>{{item.id}}</td>
                    <td v-text="item.name"></td>
                    <td>{{item.ctime}}</td>
                    <td>
                        <!--a标签默认是会刷新页面的,所以为了保证能够阻止刷新页面的操作得使用.prevent阻止其默认行为-->
                        <a href="" @click.prevent="del(item.id)">删除</a>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
    <script>
        var vm=new Vue({
            el:'#app',
            data:{
                id:'',
                name:'',
                list:[
                    {id:1, name:'奔驰', ctime:new Date()},
                    {id:2, name:'宝马', ctime:new Date()}
                ]
            },
            methods:{
                add(){//添加的方法
                    //分析:
                    //1.获取到id和name,直接从data上面获取
                    //2.组织出一个对象
                    //3.把这个对象,调用数组的相关方法,添加到当前data上的list中
                    //4.注意:在Vue中,已经实现了数据的双向绑定,每当我们修改了data中的数据,Vue会默认监听到数据的改动,自动把最新的数据,应用到页面上
                    var car={id:this.id, name:this.name, ctime:new Date()}
                    this.list.push(car)
                    this.id=this.name=''
                },
                del(id){
                    //分析:
                    //1.因为是假数据,所以就不能执行SQL语句,那么如何根据ID,找到要删除这一项的索引呢?
                    this.list.some((item,i)=>{
                        if(item.id==id){//找到了item对应的索引i,将其返回
                            //在数组的some方法中,如果return true,就会立即终止这个数组的后续循环
                            this.list.splice(i,1)//删除索引值为i的,删除1个,不往后删除(i从0开始)
                            return true;//终止
                        }
                    })
                }
            }
        });
    </script>
</body>
</html>

 

相关标签: Vue Vue 考研