[如果我编写了此.vue文件,则在运行nuxt generate
命令时将解析v-if。但是我想使用动态v-if。我怎样才能做到这一点?
<template>
<div v-if="foo()"></div>
</template>
<script>
export default {
methods:{
foo:function(){
/*
this method return boolean.
now, this is called at `nuxt generate
but I want to run this when user visit page`
*/
}
}
}
</script>
我认为您应该使用名为'mount'的vue生命周期。创建一个名为“ isMounted”的数据,并将其设置为true。
data() {
return {
isMounted: true
}
}
然后在html中将其用作:
<div v-if="isMounted"></div>
然后按如下所示在已安装的生命周期中更改其值:
mounted(){
this.isMounted = this.foo();
}