初学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>无标题文档</ ...
随机推荐
- HTTPS加密流程超详解(一)前期准备
0.前言 前一阵子想写一个HTTPS的嗅探工具,之前只是大致了解SSL/TLS协议的加密流程,真正上起手来一步一步分析发现还是有点复杂的,于是我参考了wireshark的源码以及各种RFC,弄清楚了S ...
- JAVA9模块化详解(二)——模块的使用
JAVA9模块化详解(二)--模块的使用 二.模块的使用 各自的模块可以在模块工件中定义,要么就是在编译期或者运行期嵌入的环境中.为了提供可靠的配置和强健的封装性,在分块的模块系统中利用他们,必须确定 ...
- mac下通过mdfind命令搜索文件
mdfind命令就是Spotlight功能的终端界面,这意味着如果Spotlight被禁用,mdfind命令也将无法工作.mdfind命令非常迅速.高效.最基本的使用方法是: mdfind -name ...
- Android Spinner值不显示,选择列表正常
你在给adapter设置数据时,如果你是静态数据,也就是死数据,那么spinner显示没有问题,但是你如果异步进行网络请求,或者使用Volley请求的时候就要注意,你的adapter设置要在onRes ...
- docker入门【1】
1.拉取镜像 docker pull 镜像名:版本号 例如:docker pull tomcat:7.0 默认会从docker官方镜像库拉取,不指定版本的话版本为latest 拉取后docker im ...
- 八张图学通JavaScript 转自52
- Linux 文件API
9/19/2017 开始攻读<LinuxC编程实战>,这是相关的笔记 1.创建 int creat(const char *filename, mode_t mode); 参数mode指 ...
- 常用的 JS 排序算法整理
关于排序算法的问题可以在网上搜到一大堆,但是纯 JS 版比较零散,之前面试的时候特意整理了一遍,附带排序效率比较. //1.冒泡排序 var bubbleSort = function(arr) { ...
- 用vue实现简单分页
在这个demo中,我用vue对一个json文件中的数据进行了简单的分页,没用用到交互,一下是我的实现过程. 基础逻辑 1.将json文件引入app.vue,并作为data返回 data(){ var ...
- zepto的返回顶部scrollTop的动画解决方法
写移动端的时候,引入的zepto.js里的animate不包括scrollTop,所以返回顶部的时候,没有动画的效果.这里我使用的是setInterval的方法.代码详情如下 <!DOCTYPE ...