Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Nuxt.js generate中动态使用v-if?_Javascript_Vue.js_Nuxt.js - Fatal编程技术网

Javascript 如何在Nuxt.js generate中动态使用v-if?

Javascript 如何在Nuxt.js generate中动态使用v-if?,javascript,vue.js,nuxt.js,Javascript,Vue.js,Nuxt.js,如果我编写了这个.vue文件,则在运行nuxt generate命令时会解析v-If 但我想使用动态v-if。 我该怎么做 <template> <div v-if="foo()"></div> </template> <script> export default { methods:{ foo:function(){ /* this method return boolean.

如果我编写了这个.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>

导出默认值{
方法:{
foo:function(){
/*
此方法返回布尔值。
现在,这被称为'numxt generate'
但我想在用户访问页面时运行此命令`
*/ 
}
}
}

我认为您应该使用名为“mounted”的vue生命周期。创建一个名为“isMounted”的数据,并将其设置为true

data() {
  return {
    isMounted: true
  }
}
然后在html中使用它作为:

<div v-if="isMounted"></div>

为什么不创建一个像
show
这样的数据属性,然后在调用foo时对其进行修改呢?谢谢。但它没有起作用。我在页面目录中创建了404.vue,并为netlify设置了fallback:true。然后,运行
numxt generate
和numxt.js generate dist/404/404.html。我在404.vue中编写了这段代码,但v-if在生成的html文件中不起作用。如果在运行
numxt generate
show
为true,则它只包含内容。如果
show
为false,它将像
一样被导出。但是我想动态地使用v-if。
mounted(){
 this.isMounted = this.foo();
}