初学Vue之数量加减
效果图:

HTML:
<div class="count3">
<ul>
<li v-for="(key,idx) in liList" :key="key.id">
{{key.id}},{{idx}}
<template>
<button class="cut" @click="cuts(idx)">-</button>
<span>{{key.num}}</span>
<button class="add" @click="add(idx)">+</button>
</template> </li>
</ul>
总数:{{total}}
</div>
JS:
var test=new Vue({
el:".count3",
data:{
total:0,
liList:[{
id:0,
num:0
},{
id:1,
num:0
},{
id:2,
num:0
}]
},
methods:{
cuts:function(idx){
if(this.liList[idx].num<1) return
this.liList[idx].num--;
this.total--;
},
add:function(idx){
this.liList[idx].num++;
this.total++;
}
}
})
总结:在vue2.x版本中,v-for的第二个参数是index即索引,并且后面使用时不用加$符号。
而vue1.x的index索引是在第一个参数,第二个参数才是对应值,而且后面使用时需要加$符号
vue2.x版本中 el 不能使用body
vue2.x:数组语法:
value in arr 或者 (value,index) in arr 使用或传参时:{{index}} @click="add(index)"函数接收时就能直接使用index
对象语法:
value in object 或者 (value,key,index) in object value是值,key是键值,index是索引值,后面两个都是可选
vue1.x:数组语法:
value in arr 或者 (index,value) in arr 使用或传参时:{{$index}} @click="add($index)"函数接收时就能直接使用$index
对象语法:
value in object 或者 (key,value) in object value是值,key是键值
vue2.x中的key只支持 number 和 string 类型等primitive(原始) 类型,不支持object。
@click是v-on:的简写方式。
:key是v-bind:key的简写方式。官方给出加入key的解释是:如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素
自己的理解:感觉和小程序中的wx:key=“”有点类似,加上key之后,表示独一无二,在数据项顺序改变的时候,比如删除增加,就能跟踪每个节点,从而重用和重新排序现有元素,不会出现渲染错误等情况。
在Vue2.2.0+ 的版本里,当在组件中使用 v-for 时,key 现在是必须的。
初学Vue之数量加减的更多相关文章
- Vue: 购物车数量加减按钮
效果图: HTML: <div class="label"> <p class="buy_num">购买数量</p> < ...
- js实现输入框数量加减【转】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 自己动手丰衣足食之 jQuery 数量加减插件
引言 做一个手机端的订单相关项目中,其中下订单时需要用到数量加减的控件,可以设置默认值,也可以设置最大值和最小值.使用jQuery这么长时间了,平时很少去编写属于自己的插件,现在编写的时候对立面的一些 ...
- web框架实现购物车数量加减
企业开发中经常是团队协作,每个人分配一个小的模块,比如说购物车模块,数量加减这一块人们首先想到的就是通过jquery实现,其实作为一个后端接口开发的程序猿也可以用自己更擅长的后端的逻辑代码来实现,那我 ...
- vue 入门 ------简单购物车功能实现(全选,数量加减,价格加减)
简易购物车功能(无任何布局 主要是功能) 数量的加减 商品的总价钱 全选与全不选 删除(全选.价格 受影响) <script src="https://cdn.jsdelivr.net ...
- js实现购买数量加减效果
写在前面:当我们需要在多个页面都有操作数量的需求时的一种解决方案 结构: js代码: <script type="text/javascript"> function ...
- js jquery 权限单选 bug修改以及正确代码 购物车数量加减
效果图废话不多直接上代码 用的avalon渲染,其实都是一样的 <div class="shop-arithmetic"> <a href="javas ...
- [转]微信小程序之购物数量加减 —— 微信小程序实战商城系列(3)
本文转自:http://blog.csdn.net/michael_ouyang/article/details/70194144 我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示: ...
- js 购物车中,多件商品数量加减效果修改,实现总价随数量加减改变
<!DOCTYPE html> <html> <head> <meta charset=UTF-8 /> <title>无标题文档</ ...
随机推荐
- json api
from flask import Flask, redirect, url_for, jsonify, request app = Flask(__name__) users = [] ''' RE ...
- 「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)
单表查询优化:(关于索引,后面再开单章讲解) (0)可以先使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL语句的.这可以帮我们分析是查询语句或是表结构的性能瓶颈. (1)写sql ...
- Intellij IDEA编译代码出现红色标志
如图 原因:项目没有模块化加载 解决方法: 快捷键 Ctrl+Alt+Shift+S 进入 Project Structure 界面,选择 Modules --> Sources -->选 ...
- .NET 构造Class返回多个json值
上次总结使用DataTable返回多个值,后来看到一个小哥的返回方式和我的有所不同,便留意了一下.原来他构造一个Class,而我构造的是一个Table. 首先说说两者的区别:拿student举例,st ...
- List集合在遍历过程中的删除
List集合在遍历过程中的删除:[1,1,2,3,4,5] for循环正续会漏掉一个1 for(int i=0;i<list.size();i++){ if(list.get(i).equals ...
- 使用Node.js搭建一个本地服务器
let http = require('http'); //创建一个http let server = http.createServer((request,response)=>{ //创建一 ...
- dispatch_sync和dispatch_async的区别
dispatch_sync 线程同步.dispatch_async线程异步 比如 //同步 dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE ...
- sftp新建用户步骤
1,切换root用户2,创建sftp组:groupadd sftp3,创建用户并限制进入路径:useradd -g sftp -s /bin/false testuser 修改密码: passwd t ...
- table常用的属性以及用法
<table><table/>先定义一个表格这个就没得讲了,<caption>表示这个表格的标题 <table border="6"> ...
- Linux下防火墙配置
查看防火墙的状态:/etc/init.d/iptables status 或 service iptables status 1) 临时生效,重启后复原 开启: service iptab ...