簡體   English   中英

@click未在Vue devtools中注冊事件

[英]@click not registering event in Vue devtools

我有一個旨在動態捕獲菜單項是否具有附加到其的子菜單的組件,該組件確實可以成功完成。 我已經在實例上設置了一個方法來切換是否顯示subMenu,但是當我單擊它時,什么也沒有發生。 在Vue devtools中,事件部分未注冊任何內容。 而且由於未觸發click事件,因此無法獲得預期的顯示/隱藏切換。

我已經盡力追隨Vue文檔,但是盡管語法相同,但仍然沒有成功。

這是我的單個文件組件。 使用@click在兩個字體真棒圖標上調用該方法。

<template>
  <div class="subMenuCatcher">
    <router-link class="routerLink" active-class="active" :to="menuItem.route" exact>
      {{ menuItem.routeName }}
    </router-link>
    <i
      class="fas fa-arrow-alt-circle-down icon"
      :class="{ hidden: !subMenuHidden }"
      @click="subMenuToggle"
    ></i>
    <i
      class="fas fa-arrow-alt-circle-up icon"
      :class="{ hidden: subMenuHidden }"
      @click="subMenuToggle"
    ></i>
    <div
      class="subMenu"
      :class="{ hidden: subMenuHidden }"
      v-for="(subMenuItem, index) in menuItem.subMenu"
      :key="index"
    >
      <router-link class="routerLink" active-class="active" :to="subMenuItem.subRoute" exact>
        {{ subMenuItem.subRouteName }}
      </router-link>
    </div>
  </div>
</template>

<script>
const subMenuHidden = true;

export default {
  props: {
    'menu-item': Object,
  },
  data: function() {
    return {
      subMenuHidden,
    };
  },
  methods: {
    subMenuToggle: function() {
      return !this.subMenuHidden;
    },
  },
};
</script>

<style scoped lang="scss">
.subMenuCatcher {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin: auto;

  .subMenu {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
  }

  .routerLink {
    text-decoration: none;
    color: $routerLinkColor;
  }

  .active {
    color: $activeColor;
  }

  .icon {
    color: $routerLinkColor;
  }

  .hidden {
    display: none;
  }
}
</style>

基本上,我期望subMenuToggle事件觸發,並將本地狀態從subMenuHidden = false更改為true,然后再返回。 我得到的完全沒有任何事件。

基本上,我期望subMenuToggle事件觸發,並將本地狀態從subMenuHidden = false更改為true,然后再返回。 我得到的完全沒有任何事件。

您當前正在做的是返回的是false subMenuHidden值的取反,但是狀態變量本身未發生任何變化。

將切換方法更改為: this.subMenuHidden = !this.subMenuHidden;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM