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

Vue 计算属性和监视属性

Vue 计算属性和监视属性

computed

computed 计算属性

规则:

  • 用已有的属性计算不存在的属性
  • 默认调用一次get()
  • 只有值不发生改变的时候才可以使用简写(函数);值发生改变 使用对象式写法,才可以配置set()方法
  • 底层原理使用 object.definProperty(目标对象,键名,{})
<div id="app"><input type="text" v-model="fullName"><input type="text" v-model="Names"></div>
Vue.config.productionTip = false;var vm = new Vue({el: "#app",data() {return {}},computed: {//标准写法 对象式Names: {get() {console.log("get被调用了");return 99;},set(value) {console.log(value);console.log("set被调用了");}},//简写写法 函数式  没有set值fullName() {console.log("简写的计算方法触发");return 99;}}})

watch

watch 监视属性

规则:

  • 监视已存在的属性
  • mmediate:true 默认调用一次,false不会
  • 只有handler方法可以简写;写法:监视的属性(新值,就值){}
  • 监视对象中的值需要深度监视.使用deep:true
<div id="app"><h1>今天的天气{{weather}}</h1><h2>{{user}}</h2><h2>{{obj.id}}</h2><button @click="func()">切换天气</button></div>
 Vue.config.productionTip = false;var vm = new Vue({el: "#app",data() {return {bool: true,user: "",obj: {id: 99}}},methods: {func() {this.bool = !this.bool;}},computed: {weather() {return this.bool ? "炎热" : "凉爽";}},watch: {bool: {immediate: true,deep:true,handler(newValue, oldValue) {console.log('-------bool--------');console.log(newValue);console.log(oldValue);if (newValue== true) {this.user = "张三";} else {this.user = '李四'}}},obj: {immediate: true,deep: true, //开启深度监视handler(newValue, oldValue) {console.log('-------obj--------');console.log(newValue);console.log(oldValue);}}//简写// weather(newValue, oldValue) {//     console.log(newValue);//     console.log(oldValue);//     console.log(this);// }},})

在这里插入图片描述

这是watch的另一种写法 ,写在实例化之外

vm.$watch("user", {immediate: false,deep: false,handler(newValue, oldValue) {console.log(newValue);console.log(oldValue);console.log(this);}})

在这里插入图片描述


  • 失联

最后编辑时间 2024,03,19;17:31

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

相关文章:

  • 【Python】反编译PyInstaller打包的exe
  • 【数据结构】哈希表与哈希桶
  • 幼儿教育管理系统|基于jsp 技术+ Mysql+Java的幼儿教育管理系统设计与实现(可运行源码+数据库+设计文档)
  • 【赠书第21期】游戏力:竞技游戏设计实战教程
  • 基于VMware虚拟机安装MacOS BigSur系统
  • C++特性三:多态的基本语法及原理剖析
  • Windows下的TCP/IP实例
  • 硬件学习件Cadence day15 allegro 查看state 后发现有网络未连接怎么办, shape 有问题怎么办,
  • nginx 中 user 配置的作用
  • 愚人节礼物(C++)
  • Lua 学习
  • YOLOv7 | 添加GSConv,VoVGSCSP等多种卷积,有效提升目标检测效果,代码改进(超详细)
  • 『运维心得』BPC-EPM-AddIn专家看过来
  • 论文浅尝 | GPT-RE:基于大语言模型针对关系抽取的上下文学习
  • Rust语言:告诉编译器允许存在未使用的代码(Rust保留未使用的实现)
  • Winform数据绑定
  • DeprecationWarning: currentThread() is deprecated, use current_thread() instead
  • 2024届 C++ 刷题 笔试强训 Day 03
  • linux用git拉取我云端以及git处理冲突
  • Learn OpenGL 17 立方体贴图
  • 【四 (6)数据可视化之 Grafana安装、页面介绍、图表配置】
  • jvm 堆
  • Jenkins通知目标服务器拉取Harbor镜像部署
  • Android 13.0 系统中framework中关于Activitity的生命周期的源码讲解
  • 常见的几个Python技术难题
  • 【探索Linux】—— 强大的命令行工具 P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
  • 【MATLAB源码-第165期】基于matlab的科莫多巨蜥算法(KMA)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • 【Linux】项目部署CPU彪高如何定位
  • 第十二届蓝桥杯大赛软件赛决赛C/C++ 研究生组-纯质数
  • MyBatis面试简答题