Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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 Vue/Buefy-在路由器链接上隐藏下拉列表单击/SPA_Javascript_Vue.js_Bulma_Buefy - Fatal编程技术网

Javascript Vue/Buefy-在路由器链接上隐藏下拉列表单击/SPA

Javascript Vue/Buefy-在路由器链接上隐藏下拉列表单击/SPA,javascript,vue.js,bulma,buefy,Javascript,Vue.js,Bulma,Buefy,我在使用和Vue时遇到一些问题。我有一个简单的SPA(单页应用程序),它使用vue路由器。我有一个下拉列表,如下所示: <b-dropdown class="user-dropdown" v-model="navigation" position="is-bottom-left"> <a class="navbar-item" slot="trigger"> <span class="tag is-rounded has-text-weigh

我在使用和Vue时遇到一些问题。我有一个简单的SPA(单页应用程序),它使用
vue路由器
。我有一个下拉列表,如下所示:

  <b-dropdown class="user-dropdown" v-model="navigation" position="is-bottom-left">
    <a class="navbar-item" slot="trigger">
      <span class="tag is-rounded has-text-weight-semibold avatar">OB</span>
    </a>
    <div class="columns is-marginless">
      <div class="column has-text-centered">
        <router-link to="home">
          <b-icon class="is-large is-size-4" icon="ion-ionic ion-ios-search"></b-icon>
        </router-link>
      </div>
      <div class="column has-text-centered">
        <router-link to="dashboard">
          <b-icon class="is-large is-size-4" icon="ion-ionic ion-ios-contact"></b-icon>
        </router-link>
      </div>

    </div>
  </b-dropdown>
name:"active-change"
type:"$emit"
source:"<BDropdown>"
payload:Array[1]
0:false
我单击打开的下拉列表,然后单击
仪表板
链接,该链接提供:

www.example.com/#/dashboard
但下拉列表仍然可见

有人知道我该怎么做,所以当我点击里面的链接时,下拉菜单会切换吗

更新: 我在Chrome中使用Vue Dev工具,我可以看到,当我单击下拉菜单使其切换为活动时,我看到以下内容:

name:"active-change"
type:"$emit"
source:"<BDropdown>"
payload:Array[1]
0:true
名称:“活动更改”
类型:“$emit”
资料来源:“”
有效载荷:阵列[1]
0:对
当我点击页面上的任何地方,关闭下拉列表时,它看起来是这样的:

  <b-dropdown class="user-dropdown" v-model="navigation" position="is-bottom-left">
    <a class="navbar-item" slot="trigger">
      <span class="tag is-rounded has-text-weight-semibold avatar">OB</span>
    </a>
    <div class="columns is-marginless">
      <div class="column has-text-centered">
        <router-link to="home">
          <b-icon class="is-large is-size-4" icon="ion-ionic ion-ios-search"></b-icon>
        </router-link>
      </div>
      <div class="column has-text-centered">
        <router-link to="dashboard">
          <b-icon class="is-large is-size-4" icon="ion-ionic ion-ios-contact"></b-icon>
        </router-link>
      </div>

    </div>
  </b-dropdown>
name:"active-change"
type:"$emit"
source:"<BDropdown>"
payload:Array[1]
0:false
名称:“活动更改”
类型:“$emit”
资料来源:“”
有效载荷:阵列[1]
0:错

无论下拉列表监视什么状态,都不会改变,因为在SPA中,它只是javascript。我不知道Buefy的具体情况,但你必须在路由器负载上设置状态变量,或者观察某种变量,告诉菜单你的应用程序的另一部分有什么不同。

刚刚更新了我的原始问题,将事件包括在内,如果有帮助的话。我对Vue还是新手,所以我只是想学习一些基础知识。它看起来像是从组件中发出一个自定义事件。这意味着调用组件的父级应该具有冒泡事件调用的方法。如果我使用
@click.native
,我可以启动一个函数,该函数是我在
方法()中定义的。但是,当我点击下拉列表中的
/
时,我不知道如何隐藏下拉列表。你能粘贴一些你正在谈论的组件吗?