v-if触发什么东西?v-if会举起一个活动吗?

bbs*_*nbb 2 vue.js vuejs2

我想抓住一个事件,并在v-if切换时做一些事情.有条件渲染的元素正在渲染.应该可以得到通知,不是吗?

Vam*_*hna 6

您可以在属性上设置一个观察者,负责条件渲染(v-if)的真实性.

HTML

<div id="app">
    <div v-if="toggleElement">MY ELEMENT</div>
    <button @click="toggleElement = !toggleElement">TOGGLE</button>
</div> 
Run Code Online (Sandbox Code Playgroud)

脚本

new Vue({
el: '#app',
    data: {
        toggleElement: false
    },
    watch: {
        toggleElement(newValue){
            //do something if toggleElement changes
            alert("Element's v-if toggled");
        }
    }
}) 
Run Code Online (Sandbox Code Playgroud)

这是小提琴

  • 正确答案。如果“ v-if”中的条件不是简单属性而是更复杂的表达式,请将其放在计算的属性中而不是模板中,并观察计算的属性。 (2认同)