vue实现商品列表的添加删除实例讲解


Posted in Javascript onMay 14, 2020

我们首先来看下代码:

<div id="app">
<div class="container"><form class="form-inline">
<div class="form-group"><label for="exampleInputName2">ID:</label> <input id="exampleInputName2" class="form-control" type="text" /></div>
<div class="form-group"><label for="exampleInputEmail2">Name:</label> <input class="form-control" type="text" /></div>
<button class="btn btn-primary" type="button">提交</button></form>
<table class="table table-hover table-striped">
<tbody>
<tr>
<td>ID</td>
<td>品牌名称</td>
<td>添加时间</td>
<td>操作</td>
</tr>
<tr>
<td>{{item.id}}</td>
<td>{{item.pp_name}}</td>
<td>{{item.add_time | getTime()}}</td>
<td><a>删除</a></td>
</tr>
</tbody>
</table>
</div>
</div>
<script type="text/javascript">// <![CDATA[
var app = new Vue({
el: '#app',
data: {
id : '',
name : '',
list : [
{id : 1, pp_name : '安踏', add_time : new Date()},
{id : 2, pp_name : '李宁', add_time : new Date()},
{id : 3, pp_name : '捷豹', add_time : new Date()},
{id : 4, pp_name : '悍马', add_time : new Date()}
]
},
methods: {
add : function(){
// 数据插入数组操作
this.list.push({id : this.id, pp_name : this.name, add_time : new Date()});
this.id = this.name = ''
},

/* 
根据id删除数据

分析: 先要找到这一项数据的id,然后根据id删除索引
找到索引之后直接调用数组的splice方法
*/
del : function(id){
this.list.some((item,i) =>{
if(item.id === id){
this.list.splice(i,1);

// 在数组some中 如果返回值为true,则会立即终止后续的循环
return true;
}
})
}
},
// 时间的过滤
filters:{
getTime:function(value){
let date = new Date(value),
Y = date.getFullYear(),
m = date.getMonth() + 1,
d = date.getDate(),
h = date.getHours(),
min = date.getMinutes(),
s = date.getSeconds();
if(m<10){m = '0' +m;}
if(d<10){d = '0' +d;}
if(h<10){h = '0' +h;}
if(min<10){min = '0' +min;}
if(s<10){s = '0' +s;}

let t = Y + '-' + m + '-' + d + ' | ' + h + ':' + min + ':' + s;
return t;
}
}

})

// ]]></script>

内容补充:

vue中注册组件,实现列表的添加删除效果

1、首先在html的<code><head>标签中</code>导入vue.js

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

2、在body中创建一个应用vue模板的容器

// vue起作用的区域root
<div id="root">
// input与mesg数据绑定
<input v-model="mesg" />
<button @click="handle">提交</button>
<ul>
<todo-item v-for='(item,index) in list' :key='index' :index='index' :content='item' @delete='deletes'></todo-item>
</ul>
</div>

3、在script标签中创建并注册名为todo-item的组件

Vue.component('todo-item', {
props: ['content', 'index'],
template: '<li @click="handelClick">{{content}}</li>',
methods: {
handelClick: function() {
//点击li元素就触发delete方法
this.$emit('delete', this.index);
}
}
})

4、在script标签中初始化vue实例

new Vue({
el: '#root',
data() {
return {
list: [],
mesg: ''
}
},
methods: {
//点击提交按钮,输入文本信息就加入列表
handle: function() {
if(this.mesg==''){
return;
}
this.list.push(this.mesg);
this.mesg = ''
},
deletes: function(index) {
alert(index)
this.list.splice(index, 1);
}
}
})

到此这篇关于vue实现商品列表的添加删除实例讲解的文章就介绍到这了,更多相关vue商品列表添加删除内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JQuery 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 Javascript
jQuery控制TR显示隐藏的几种方法
Jun 18 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
jQuery多级手风琴菜单实例讲解
Oct 22 Javascript
js原型链与继承解析(初体验)
May 09 Javascript
分享12个非常实用的JavaScript小技巧
May 11 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
May 26 Javascript
Node.js连接MongoDB数据库产生的问题
Feb 08 Javascript
js删除数组中的元素delete和splice的区别详解
Feb 03 Javascript
vue-cli创建的项目,配置多页面的实现方法
Mar 15 Javascript
一次Webpack配置文件的分离实战记录
Nov 30 Javascript
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
Vue 自适应高度表格的实现方法
May 13 #Javascript
ES6函数实现排它两种写法解析
May 13 #Javascript
详解vue-router的Import异步加载模块问题的解决方案
May 13 #Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
May 13 #Javascript
原生JS实现汇率转换功能代码实例
May 13 #Javascript
JavaScript Tab菜单实现过程解析
May 13 #Javascript
JQuery事件冒泡和默认行为代码实例
May 13 #jQuery
You might like
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
php文件系统处理方法小结
2016/05/23 PHP
java script编程起步(第三课)
2007/01/10 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
angular 组件通信的几种实现方式
2018/07/13 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
js实现3D旋转效果
2020/08/18 Javascript
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
Python argparse模块使用方法解析
2020/02/20 Python
django中cookiecutter的使用教程
2020/12/03 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
祖国在我心中演讲稿600字
2014/05/04 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
公司与个人合作协议书
2016/03/19 职场文书
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android