Vue中的计算属性和监视属性

计算属性:需要对data中的已有的属性进行处理后再显示

监视属性:需要对data中的定义的属性进行监控,变化后会通知

计算属性

1.定义:要用的元素不存在,要通过已有的属性计算得来

2.原理:底层借助了object.definepropety方法提供的getter和setter

3.get函数什么时候执行?

(1)初次读取时会执行一次

(2)当依赖的数据发生改变时会被再次读取

4.优势:与method实现相比,内部有缓存机制,效率更高,调试方便

5.备注:

1.计算属性最终会出现在vm上,直接读取使用即可

2.如果计算机属性要被修改,那必须使用set属性去响应修改,且set中要引起计算时依赖的数据发生改变

监视watch

1.当被监视的属性变化时,回调函数自动调用,进行相关操作

2.监视的属性必须存在

3.监视的两种写法

(1).new Vue时传入watch配置

(2).通过vm.$watch监视

4.属性:immediate是一个boolean类型,用来设置该属性在初始化时是否需要执行一次

5.深度监视:

(1).Vue中的watch默认不监测对象内部值的改变(一层)

(2).配置deep:true设置以后可以检测对象里边的属性值(多值)

备注:

(1).Vue 自身可以检测对象内部值的变化,但vue提供的watch默认不可以

(2).使用watch时根据数据的具体结构,决定是否采用深度监测

javascript 复制代码
//当只监测某一个深度属性时,就需要具体指定某个属性时,需要使用字符串形式包裹
//eg:"person.id"
watch:{
            person:{
                deep:true,
                handler(){
                    alert("debdhsjfbd")
                }
            }
        }
相关推荐
optimistic_chen9 小时前
【Vue3入门】Pinia 状态管理 和 ElementPlus组件库
前端·javascript·vue.js·elementui·pinia·组件
kgduu9 小时前
js之网络请求与远程资源
开发语言·javascript·网络
酉鬼女又兒9 小时前
零基础入门前端JavaScript 核心语法:var/let/const、箭头函数与 setTimeout 循环陷阱全解析(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·蓝桥杯
Bling_Bling_19 小时前
【无标题】
前端·网络协议
We་ct9 小时前
React Diff & Key 核心解析
开发语言·前端·javascript·react.js·前端框架·reactjs·diff
哥本哈士奇9 小时前
Vue 3 快速入门:从零搭建前后端 CRUD 应用
前端·javascript·vue.js
biubiubiu07069 小时前
Agent 是如何拥有“手脚”的(ReAct 运行流程)
开发语言·前端·javascript
摸鱼的春哥9 小时前
Agent教程21:知识图谱🕸,让AI🤖学会联想
前端·javascript·后端
SuperEugene9 小时前
Vue3 组件拆分实战规范:页面 / 业务 / 基础组件边界清晰化,高内聚低耦合落地指南|Vue 组件与模板规范篇
前端·javascript·vue.js·前端框架
泯泷9 小时前
阶段二:为什么先设计指令集,编译器和运行时才能稳定对齐?
前端·javascript·架构