如何在nuxt.js中使用v-if进行条件渲染

时间:2020-09-25 12:07:24

标签: vue.js if-statement methods nuxt.js

我有一个显示公司及其文件的应用程序。
如果没有选择任何应用程序,我想显示一个主标题,如果选择了一个应用程序,我想显示该应用程序的内容并删除主标题。

<template>
  <div class="container">
    <div v-if="docsAppDisplayed === false">
      <Logo />
      <h1 class="title">
        <em class="text-red-900 font-bold">D</em>ocs<em class="text-yellow-700 font-bold">C</em>loud<em class="text-purple-900 font-bold">M</em>anager
      </h1>
    </div>
    <div>
      <DocumentationCard />
    </div>
  </div>
</template>

<script>
import { mapGetters } from 'vuex'
export default {
  data () {
    return {
      docsAppDisplayed: false
    }
  },
  computed: {
    ...mapGetters(['applications', 'selectedApp', 'documentations', 'selectedDoc'])
  },
  async mounted () {
    await this.$store.dispatch('getApplications', 'getDocumentations')
  },
  methods: {
    selectApplications (id) {
      this.$store.dispatch('selectedApp', id)
      this.docsAppDisplayed = true
    }
  }
}

</script>

我不知道为什么我的方法不起作用。好主意吗?
我指定我有一个返回我的公司名称的边栏,当我单击它时,我可以访问他们的文档。我的问题仅涉及(徽标+标题)或我的DocumentCard的显示。

1 个答案:

答案 0 :(得分:2)

这似乎永远不会被您的组件调用。

worklet.js

class audio_process_worklet { ... handleMessage_(event) { // If process function is available then set it in the class if(event.data.processAudio) { this.processedData = event.data.processAudio(this.audioData); } } ... } 来自哪里?它是一个路由参数,例如 selectApplications (id) { this.$store.dispatch('selectedApp', id) this.docsAppDisplayed = true } ,其中idhttps://example.com/myroute/1234吗?在不了解您的代码的情况下,我想您正在尝试执行以下操作:

1234

您可能还想向id包装的export default { data () { return { docsAppDisplayed: false } }, computed: { ...mapGetters(['applications', 'selectedApp', 'documentations', 'selectedDoc']) }, async mounted () { await this.$store.dispatch('getApplications', 'getDocumentations') selectApplications(this.$route.params.id) // THE BIG CHANGE }, methods: { selectApplications (id) { this.$store.dispatch('selectedApp', id) this.docsAppDisplayed = true } } } 中添加v-else

div