vue-品牌管理案例
程序员文章站
2022-04-21 16:41:37
品牌管理 分析 1. 获取到 id 和 name ,直接从 data 上面获取 2. 组织出一个对象 3. 把这个对象,调用 数组的 相关方法,添加到 当前 data 上的 list 中 4. 注意:在Vue中,已经实现了数据的双向绑定,每当我们修改了 data 中的数据,Vue会默认监听到数据的改 ......
品牌管理
分析
获取到 id 和 name ,直接从 data 上面获取
组织出一个对象
把这个对象,调用 数组的 相关方法,添加到 当前 data 上的 list 中
注意:在vue中,已经实现了数据的双向绑定,每当我们修改了 data 中的数据,vue会默认监听到数据的改动,自动把最新的数据,应用到页面上;
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> <!-- 在vue中,使用事件绑定机制,为元素指定处理函数的时候,如果加了小括号,就可以给函数传参了 --> <input type="button" value="添加" class="btn btn-primary" @click="add()"> <label> 搜索名称关键字: <input type="text" class="form-control" v-model="keywords"> </label> </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> <!-- 之前, v-for 中的数据,都是直接从 data 上的list中直接渲染过来的 --> <!-- 现在, 我们自定义了一个 search 方法,同时,把 所有的关键字,通过传参的形式,传递给了 search 方法 --> <!-- 在 search 方法内部,通过 执行 for 循环, 把所有符合 搜索关键字的数据,保存到 一个新数组中,返回 --> <tr v-for="item in search(keywords)" :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> </div>
注:用了bootstrap
var vm = new vue({ el: '#app', data: { id: '', name: '', keywords: '', // 搜索的关键字 list: [ { id: 1, name: '奔驰', ctime: new date() }, { id: 2, name: '宝马', ctime: new date() } ] }, methods: { add() { 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 true,就会立即终止这个数组的后续循环 return true; } }) */ var index = this.list.findindex(item => { if (item.id == id) { return true; } }) // console.log(index) this.list.splice(index, 1) }, search(keywords) { // 根据关键字,进行数据的搜索 /* var newlist = [] this.list.foreach(item => { if (item.name.indexof(keywords) != -1) { newlist.push(item) } }) return newlist */ // 注意: foreach some filter findindex 这些都属于数组的新方法, // 都会对数组中的每一项,进行遍历,执行相关的操作; return this.list.filter(item => { // if(item.name.indexof(keywords) != -1) // 注意 : es6中,为字符串提供了一个新方法,叫做 string.prototype.includes('要包含的字符串') // 如果包含,则返回 true ,否则返回 false // contain //console.log(keywords); if (item.name.includes(keywords)) { return item } }) } });
上一篇: 小米手表为何做成方形而非圆形
下一篇: 辣侃男女之相亲、见面、买买买
推荐阅读
-
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
-
SQL Server 表的管理_关于事务的处理的详解(案例代码)
-
订阅制体重管理品牌「咚吃」完成数千万元A轮融资,青桐资本担任独家财务顾问
-
微服务架构案例(02):业务架构设计,系统分层管理
-
借势热点 融入品牌 这才是软文营销爆款案例的正确打开方式
-
SpringBoot2.0 基础案例(13):基于Cache注解模式,管理Redis缓存
-
案例分析不同型号品牌主板不亮的原因及解决办法
-
vuex(vue状态管理)的特殊应用案例分享
-
Laravel框架实现简单的学生信息管理平台案例【附源码下载】
-
网红品牌营销案例分享:网红餐厅的打造