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

vue中数据代理和事件处理

数据代理

  • 直接在对象下可直接修改属性的值,而Object提供defineProperty()对属性进行控制

  • <script>let perosn = {name: '小蜜',sex: '男',//age: 19 }Object.defineProperty(perosn,'age',{value: 19//enumerable: true ,添加enumerable将默认值改为true,即可对枚举出age属性,控制属性是否可以枚举,默认值是faule//writable: true ,控制属性是否可以被修改,默认值为false//configurable: true ,控制属性是否可以被删除,默认值为false})//输出的对象person中,age为颜色淡且值为19,该值不可以被枚举出来console.log(person)//将person的属性值遍历出来。第一条只能遍历数组,第二条for-each能遍历数组和对象console.log(Object.keys(person))for(let key in person ){console.log(perosn[key])}</script>

  • 当修改age属性时,get函数也就是getter就会被调用,返回值为age的值

  • 当修改age属性时,set函数也会被调用,且会受到修改的具体值

  • get函数只用于获取获取number,set函数用于number修改时age值也被修改

  • <script>let number = 18let perosn = {name: '小蜜',sex: '男',}Object.defineProperty(perosn,'age',{//简写形式:get(){} ,如果修改number的值,那么get的值也会被修改get: function(){console.log('修改了age')return number},set(val){console.log('修改age属性,值为val')number = val}})}</script>

事件处理

  • methods方法的引用

  • <body>//不传入参数的时候直接show01<button @click="show01">点击我显示啊</button>//既想传入参数又想event显示则,show02($event,66)<button @click="show02($event,66)">点击我显示</button>
    </body>
    <script>const vm = new Vue({el: '#root',data: {name: '小米'},methods: {//number为show02方法的参数变量show02(event,number){console.log(event,number)//console.log(event.target.innerText)输出的是点击我显示//console.log(this)。this指代vm}}})
    </script>

  • 事件的修饰符

  • Vue中事件修饰符:

  • prevent : 阻止默认事件(常用)

  • stop: 阻止事件冒泡(常用)

  • once: 事件只显示一次(常用)

  • capture: 使用事件的捕获模式

    capture作用是让事件在捕获中获取数据。默认是冒泡的时候输出shu'ju

  • self: 自有even.target是当前操作的元素才触发事件

  • passive: 事件的默认行为立即执行,无需等待事件回调执行完毕;

  • <body>//click.prevent使点击的a标签不进行跳转网页<a href="http://www.baidu.com" @click.prevent="show">点我显示</a>//当下面的情况出现,运行后会弹框两次,阻止冒泡引用stop<div @click="showInfo"><botton @click.stop="showInfo">点我</botton></div>
    </body>
    <script>const vm = new Vue({el: '#root',data: {name: '小米'},methods: {//用e代替eventshow(e){alter('你好')            }}//输出的结果是只显示你好提示框                     })
    </script>

相关文章:

  • 微服务架构下如何使用多环境多服务联合调试
  • 基于GCC的工具objdump实现反汇编
  • 禅道项目信息通知到钉钉群配置步骤
  • 1438 绝对差不超过限制的最长连续子数组(单调队列)
  • SQL触发器
  • Hadoop架构、Hive相关知识点及Hive执行流程
  • 个人app编程的好处及条件
  • CSS知识点梳理(一)
  • element ui中Select 选择器,自定义显示内容
  • Word2Vec的缺点
  • 将 ONLYOFFICE 文档编辑器与 С# 群件平台集成
  • Python开源项目RestoreFormer(++)——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践
  • Debian 9 Stretch APT问题
  • 接口测试及常用接口测试工具
  • 前端小技巧: 数组reduce方法的五种常见用途
  • HTTP中GET与POST的区别 99%的错误认识
  • iOS编译提示和导航提示
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Vue2.0 实现互斥
  • vue自定义指令实现v-tap插件
  • 对象引论
  • 后端_ThinkPHP5
  • 开发基于以太坊智能合约的DApp
  • 来,膜拜下android roadmap,强大的执行力
  • 理清楚Vue的结构
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 我有几个粽子,和一个故事
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • #define 用法
  • #Linux(帮助手册)
  • (1)(1.13) SiK无线电高级配置(五)
  • (2)Java 简介
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (二)丶RabbitMQ的六大核心
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (附源码)计算机毕业设计大学生兼职系统
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (十六)一篇文章学会Java的常用API
  • (新)网络工程师考点串讲与真题详解
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)memcache、redis缓存
  • (转)Scala的“=”符号简介
  • (转)拼包函数及网络封包的异常处理(含代码)
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net 受管制代码
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】