天天看點

Vue使用reactive動态改變屬性

Vue使用reactive動态改變屬性

1.目的

我們的目的是根據某些事件來改變某些屬性,進而動态的展示在頁面上。

這裡如果把屬性直接定義為ref是不行的,需要定義為reactive才行。

2.使用

const count = ref(1)
const obj = reactive({ count })

// ref 會被解包
console.log(obj.count === count.value) // true

// 會更新 `obj.count`
count.value++
console.log(count.value) // 2
console.log(obj.count) // 2

// 也會更新 `count` ref
obj.count++
console.log(obj.count) // 3
console.log(count.value) // 3      

注意當通路到某個響應式數組或 ​

​Map​

​ 這樣的原生集合類型中的 ref 元素時,不會執行 ref 的解包:

const count = ref(1)
const obj = reactive({})

obj.count = count

console.log(obj.count) // 1
console.log(obj.count === count.value) // true      

繼續閱讀