Vue.js增删案例

品牌管理案例
数据的增删
<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" v-model="id">
        </label>
        <label>
            Name:<input type="text" 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>
        <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 href="" @click.prevent="del(item.id)">删除</a>
            </td>
        </tr>
    </tbody>
</table>

var vm=new Vue({
    el:'#app',
    data:{
        id:'',   总结,当v-model绑定数据时,要在data中声明
        name:'',
        list:[
           {id:1,name:'奔驰',ctime: new Date()},{id:2,name:'宝马',ctime: new Date()}
        ]
    }
    methods:{
        add(){
            //1:获取到id和name,直接从data上获取
              2:组织个对象
              3:把这个对象通过调用数组的相关方法,添加到data的list中
            var car={id:this.id,name:this.name,ctime:new Date()}
            this.list.push(car);
            this.id='',
            this.name=''
        }

        del(id){ 根据id来删除数据
        //分析:1如何根据id,找到要删除的这一项的索引
         2如果找到索引了,直接调用数组的splice方法
            this.list.some((item,i)=>{
                if(item.id==id){
                    this.list.splice(i,1);
            //在数组的some方法中,如果return ture,就会立即终止这个数组的后续循环
                    return true;
                }
            })


            this.list.findIndex(item=>{
                if(item.id==id){
                   return true;     
                }
            })
            console.log(index);
            this.list.splice(index,1);
        }
    }
})

总结
1:在Id和Name的输入数据时,要用v-model来绑定,记得在data中加上id:”,name:”
2:添加操作的步骤,删除操作的步骤

通过关键字实现数组过滤

之前,v-for中的数据都是直接从data上的list中直接渲染过来的
现在,我们自定义了一个search方法,同时把所有的关键家,都通过传参的形式
传递给search方法
在search方法内部,通过执行for循环,把所有符合搜索关键字的数据,保存到一个新数组中,返回

<tr v-for="item in search(keywords)" :key="item.id">

search(keywords){
    var newList=[];
    this.list.forEach(item=>{
        if(item.name.indexOf(keywords)!=-1){
            newList.push(item);
        }
    })
    return newList;
}

//注意:数组的新方法 forEach some filter findIntext 都会对数组中的每一项继续遍历,执行相关操作

return this.list.filter(item=>{
    if(item.name.includes(keywords)){
        return item;
    }
})

var newList=this.list.filter(item=>{
    if(item.name.includes(keywords)){
        return item;
    }
    return newList;
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript是一种流行的编程语言,被广泛用于网页开发。Vue.js是一个基于JavaScript的前端开发框架,它提供了一套简洁、灵活的工具,使得开发者可以更轻松地构建交互式的Web应用程序。 Vue.js具有以下特点: 1. 渐进式:Vue.js采用渐进式的设计,可以逐步引入到现有的项目中,也可以通过逐步学习来适应各种开发需求。 2. 轻量级:Vue.js的核心库只有约21KB,加载速度快,非常适合于移动端开发。 3. 组件化:Vue.js支持组件化的开发方式,开发者可以根据需要构建复用性高、可维护性好的组件,提高开发效率。 4. 响应式:Vue.js采用了响应式的设计,当数据发生变化时,对应的页面会自动更新,大大减少了处理DOM操作的工作。 5. 单文件组件:Vue.js支持单文件组件的开发方式,将HTML、CSS、JS代码封装在同一个文件中,提高了代码的可读性和可维护性。 一个使用Vue.js的Web开发案例教程可能包含以下内容: 1. 环境搭建:介绍如何安装配置开发Vue.js的环境,如Node.js和Vue CLI。 2. 基础语法:引导学习者了解Vue.js的基本语法和常用指令,如数据绑定、事件处理、条件渲染等。 3. 组件开发:讲解如何使用Vue.js构建组件,如何进行组件通信、数据传递等。 4. 路由管理:介绍Vue Router,帮助学习者构建单页应用程序,实现页面之间的切换和导航。 5. 状态管理:介绍Vuex,帮助学习者管理应用程序的状态,实现数据的集中管理和共享。 6. 前后端交互:介绍如何使用Axios等工具,与后端服务器进行数据交互。 7. 实战项目:引导学习者完成一个完整的Vue.js项目,如博客系统、电子商务网站等。 通过这样的案例教程,学习者可以逐步了解和掌握Vue.js的开发思想和技术,提高自己的Web开发能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值