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之后再添加,所以它没有机会捕捉到它。