vue3 面试题记录

135 阅读1分钟
<template>
    <div>
        <button @click='test'>点击</button>
    </div>

</tempalte>
<script setup>
import { ref, watchEffect } from 'vue'
let a = ref(true)

let b = ref(false)

watchEffect(()=> {
    if(a.value || b.value) {
        console.log('@@@@')    
    }
    console.log('####')
})

function test() {
    b.value = !b.value
}

</script>



请问点击按钮之后 会不会触发watchEffect 执行?

答案是: 不会因为在收集依赖的时候 由于js的特性 a.value || b.value || 语法第一个条件为真就不会在判断第二个条件 所以 b 并没有被依赖收集 所以触发b 并不会引起watchEffect 执行

以上信息均来自网络 如有侵权请练习删除