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 相关文章推荐
面向对象的Javascript之二(接口实现介绍)
Jan 27 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
javascript Event对象详解及使用示例
Nov 22 Javascript
JavaScript新窗口与子窗口传值详解
Feb 11 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
Sep 02 Javascript
基于jQuery实现的图片切换焦点图整理
Dec 07 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
jQuery实现简单的网页换肤效果示例
Sep 18 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
Nov 29 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
vue+springboot实现项目的CORS跨域请求
Sep 05 Javascript
原生微信小程序开发中 redux 的使用详解
Feb 18 Javascript
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设计模式之工厂模式详解
2017/10/24 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
python使用turtle库绘制树
2018/06/25 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
python爬虫基础知识点整理
2020/06/02 Python
python 实现超级玛丽游戏
2020/11/25 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
教师求职自荐信
2015/03/26 职场文书
2015年暑假工作总结
2015/07/13 职场文书
新手初学Java List 接口
2021/07/07 Java/Android