Vue入门之数量加减运算操作示例


Posted in Javascript onDecember 11, 2018

本文实例讲述了Vue入门之数量加减运算操作。分享给大家供大家参考,具体如下:

效果图:

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 现在是必须的。

感兴趣的朋友可以使用如下工具测试上述代码运行效果:

在线HTML/CSS/JavaScript代码运行工具:
http://tools.3water.com/code/HtmlJsRun

在线HTML/CSS/JavaScript前端代码调试运行工具:
http://tools.3water.com/code/WebCodeRun

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
js弹窗代码 可以指定弹出间隔
Jul 03 Javascript
jquery蒙版控件实现代码
Dec 08 Javascript
jQuery 动态云标签插件
Nov 11 Javascript
有关json_decode乱码及NULL的问题
Oct 13 Javascript
jQuery动态创建元素以及追加节点的实现方法
Oct 20 Javascript
正则表达式替换html元素属性的方法
Nov 26 Javascript
简单的vuex 的使用案例笔记
Apr 13 Javascript
vue中的面包屑导航组件实例代码
Jul 01 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
layui table复选框禁止某几条勾选的实例
Sep 20 Javascript
JS实现简单日历特效
Jan 03 Javascript
简单的React SSR服务器渲染实现
Dec 11 #Javascript
Vuex 单状态库与多模块状态库详解
Dec 11 #Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
Dec 11 #Javascript
微信小程序实现两个页面传值的方法分析
Dec 11 #Javascript
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 #jQuery
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 #Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
Dec 11 #Javascript
You might like
推荐一篇入门级的Class文章
2007/03/19 PHP
php使用PDO方法详解
2014/12/27 PHP
PHP进程同步代码实例
2015/02/12 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
vue+mock.js实现前后端分离
2019/07/24 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
Python实现登陆文件验证方法
2018/10/06 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
新西兰优惠网站:Treat Me
2019/07/04 全球购物
经理职责范文
2013/11/08 职场文书
公司领导推荐信
2013/11/12 职场文书
党员个人对照检查材料
2014/10/01 职场文书
2014年人事部工作总结
2014/12/03 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
起诉状范本
2015/05/20 职场文书
《月光曲》教学反思
2016/02/16 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android
利用Apache Common将java对象池化的问题
2022/06/16 Servers