Vue 3:为什么变量观察器不能正常工作?
Vue 3: Why variable watcher doesn't work correctly?
我的项目中有这样的代码:
<script setup>
import { ref, watch } from 'vue'
const num = ref(null)
// Some condition
if(true) {
// Doesn't works. Why?
num.value = 1
// Works
//setTimeout(() => {
// num.value = 2
//})
}
// Simple watcher
watch(num, (newVal, oldVal) => {
console.log("Num changed to: ", newVal)
})
</script>
当我设置 num.value = 1
时,我的 watcher
不起作用。我怎样才能解决这个问题?
但是当我 运行 和 setTimeout
工作时
演示项目 here
你把watcher设置为1之后再添加,所以它没有机会捕捉到它。
我的项目中有这样的代码:
<script setup>
import { ref, watch } from 'vue'
const num = ref(null)
// Some condition
if(true) {
// Doesn't works. Why?
num.value = 1
// Works
//setTimeout(() => {
// num.value = 2
//})
}
// Simple watcher
watch(num, (newVal, oldVal) => {
console.log("Num changed to: ", newVal)
})
</script>
当我设置 num.value = 1
时,我的 watcher
不起作用。我怎样才能解决这个问题?
但是当我 运行 和 setTimeout
工作时
演示项目 here
你把watcher设置为1之后再添加,所以它没有机会捕捉到它。