[Typescript]用类属性包装ref,则修改类属性会触发响应式吗?

typescript">class Foo {

ref: Ref<number>

get value() {

return this.ref?.value

}

set value(nv: number) {

this.ref.value = nv

}

constructor() {

this.ref = ref(0)

}

}

const foo = new Foo()

<button @click="foo.value++">{{ foo.value }}</button>

在vue3中,以上代码定义一个class Foo,使用类属性value包装了Ref类型的成员ref。在template中,一个button被用于显示并修改Foo实例foo的value的值。请问隔了一层get/set,点击button间接修改ref时,仍能触发响应式以更新视图吗?

答案为能。why?


回答:

点击按钮,触发 onClick,运行 foo.value++,调用 setter,运行 this.ref?.value = nv,触发视图更新

以上是 [Typescript]用类属性包装ref,则修改类属性会触发响应式吗? 的全部内容, 来源链接: utcz.com/p/935374.html

回到顶部