当前位置: 首页 > news >正文

vue学习(二)

9.vue中的数据代理

  • 通过vm对象来代理data对象中的属性操作(读写),目的是为了更加方便操作data中的数据

  • 基本原理:通过Object.defineProperty()把data对象所有属性添加到vm上,为每一个添加到vm上的属性,都增加一个getter/setter方法,在方法内部去操作(读写)data中对象的属性

10.vue中事件

  • 使用v-on:xxx或者@xxx 绑定事件,xxx是事件名 如:v-on:click="onShow" 或 @click = "onShow"

  • 事件的回调需要配置再vm的methods对象中

  • methods中配置的函数,如果用箭头函数,this会变成windows,不用则是vm

  • @click = "onShow" 和 @click = "onShow(@event)" 效果一样,但是后者可以传参

11.vue事件修饰符

  • @click = "onShow"   @click.prevent = "onShow"    @click.prevent.stop = "onShow"    

  • prevent:阻止默认事件

  • stop:阻止事件冒泡

  • once:事件只触发一次

  • capture:使用事件的捕获模式(捕获模式:事件传递从内向外的过程,冒泡是捕获发生后,反向传递)

  • self:只有event.target是当前操作的元素的时候才触发

  • passive:事件的默认行为立即执行,无需等待事件回调执行完毕(交互层立即执行,无需等待事件处理)

12.vue键盘事件

  • @keyup = enter     @keyup = ctrl.x = "onShow"

  • 鉴于一些特殊按键带有特殊功能 keyup不好用的时候 可以使用keydown

  • vue中常用的按键别名: enter  delete  esc  space tab  up down left right

  • vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意几个单词的要转为keba-case(短横线命名)

  • 系统修饰键 ctrl alt shit meta 用keyup的时候要加上其他键,用keydown不需要

  • 可以使用Vue.config.keycodes.自定义键名=键码

13.vue计算属性

  • 要用的属性不存在,要用到已有属性计算得来,初次读取会执行一次,当依赖的数据发生改变会被调用,有缓存机制,效率更高

  • 如果只有读取,可以如此简写

computed:{onshow() {console.log('get倍调用了')return this.name + '+' + this.name1}}
  • 如果读写都有:

computed:{onshow:{get(){console.log('get倍调用了')return this.name + '+' + this.name1},set(value){console.log('set',value)this.name = value;this.name1 = value;}}}

http://www.lryc.cn/news/378054.html

相关文章:

  • Maven 介绍
  • QT截图程序三-截取自定义多边形
  • Unity的三种Update方法
  • [Python学习篇] Python字典
  • react项目中如何书写css
  • PostgreSQL源码分析——绑定变量
  • Zynq学习笔记--了解中断配置方式
  • 吴恩达机器学习 第二课 week2 多分类问题
  • 112、路径总和
  • Vue 封装组件之Input框
  • 一段代码让你了解Java中的抽象
  • Sping源码(九)—— Bean的初始化(非懒加载)— Bean的创建方式(factoryMethod)
  • 绝对全网首发,利用Disruptor EventHandler实现在多线程下顺序执行任务
  • 单例设计模式双重检查的作用
  • NGINX_十二 nginx 地址重写 rewrite
  • react用ECharts实现组织架构图
  • 坚持刷题|合并有序链表
  • SPI协议——对外部SPI Flash操作
  • kotlin类型检测与类型转换
  • 【JDBC】Oracle数据库连接问题记录
  • leetcode45 跳跃游戏II
  • 【数学】什么是方法矩估计?和最大似然估计是什么关系?
  • C++初学者指南第一步---10.内存(基础)
  • 扩散模型详细推导过程——编码与解码
  • js如何实现开屏弹窗
  • C#——文件读取Directory类详情
  • Ruby on Rails Post项目设置网站初始界面
  • 03-QTWebEngine中使用qtvirtualkeyboard
  • leetcode3无重复字符的最长字串(重点讲滑动窗口)
  • Gobject tutorial 八