3、添加追踪器:(仅在开发模式下生效)
const plusOne = computed(() => count.value + 1, {
onTrack(e) { 当 count.value 作为依赖被追踪时触发
debugger 推荐在这些回调内放置一个debugger语句以调试依赖
onTrigger(e) { 当 count.value 被修改时触发
debugger
console.log(plusOne.value) 访问plusOne,应该触发onTrack
count.value++ 修改count.value,应该触发onTrigger
类型声明:
function computed
(getter: () => T): Readonly[>>
function computed(options: { get: () => T; set: (value: T) => void }): Ref
计算属性: 返回一个 ref 对象。使用: import { computed } from 'vue' setup(){ const x=computed(()=>{ return xx }) (1)调用(调用返回的ref对象,注意自动解套的情况): xx.value (2)默认为不可修改的getter函数,传入包含get和set的对象,变成可修改 const xx=computed({ get: () =&
]
计算属性是基于它们的响应式依赖进行缓存的 ,计算属性比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化。
com
put
ed
是一个选项属性,需要书写成一个对象格式,内部写成函数格式。
<div id="app">
{{i}}
<!-- 给按钮绑定一个事件,用来改变i值 -->
<button type="button" @click="i++">+
计算属性和生命周期onMount
ed
一样,初始化就会执行一次(
com
put
ed
先执行),并且只用在依赖改变的时候触发,可以提升性能。注意(计算属性的依赖是指
vue
里面双向绑定的变量)
1、
com
put
ed
计算属性的get方法
这两种
com
put
ed
写法都可以,num改变的时候都是返回num.value的值。
2.
com
put
ed
计算属性的set方法
我们有时候希望计算属性改变之后,再去对原来的值或者某些值进行处理的时候,可以使用它内置的set方法,那我们如何触发set方法呢?
当我们点击改变num的时候
有些时候,我们在模板中放入了过多的逻辑,从而导致模板过重,且难以维护。例如:
<div id="app">
{{ message.split('').reverse().join('') }}
碰到这样的情况,我们必须看一段时间才能意识到,这里是想要显示变量message的翻转字符串,而且,一旦我们想要在模板中多次使用翻转字符串时,会更加麻烦。
所以,当我们处理复杂逻辑时,都应该使用计算属性。
计算属性是
Vue
配置对象中的属性,使用方式如下:
目录前言
com
put
ed
的基本用法
com
put
ed
的set和get方法
com
put
ed
计算属性,与普通JS函数相比
com
put
ed
性能更好,以为它存在计算缓存,js函数没有,其计算结果是只读的,可通过set方法修改。
com
put
ed
的基本用法
<div id="app">
<input v-model="firstName" type="number"/>
<input v-model="lastNa
<div class="test">
<h2>输入</h2>
<div>姓氏:<input type="text" placeholder="请输入姓氏" v-model="user.firstName" /></div>
<div>名字:<input type="text" placeh