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 相关文章推荐
js 表格隔行颜色
Dec 02 Javascript
JS案例分享之金额小写转大写
May 15 Javascript
简单的jQuery入门指引
Jul 28 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
Nov 02 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
js removeChild 方法深入理解
Aug 16 Javascript
yarn与npm的命令行小结
Oct 20 Javascript
vue的props实现子组件随父组件一起变化
Oct 27 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
Vue项目分环境打包的实现步骤
Apr 02 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
Nov 11 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 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函数解决SQL injection
2006/12/09 PHP
php读取msn上的用户信息类
2008/12/05 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
PHP中“=&gt;
2019/03/01 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
python的命名规则知识点总结
2019/10/04 Python
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
计算机专业个人求职自荐信
2013/09/21 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
会计个人实习计划书
2014/08/15 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
swagger如何返回map字段注释
2021/07/03 Java/Android
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
vue如何清除浏览器历史栈
2022/05/25 Vue.js