Nuxt JS Typescript click.native 'не может прочитать свойство' test 'of null' - PullRequest
0 голосов
/ 20 июня 2020

Я создал настраиваемую панель навигации в nuxt js, и если я хочу закрыть панель навигации, щелкнув n-ссылку, я получаю следующую ошибку: Не удается прочитать свойство «test», равное null. Я использую зависимость nuxt-property-decorator.

Мой код:

<template>
  <!-- MOBILE NAVBAR -->
  <nav class="navbar">
    <mq-layout mq="sm" class="navbar-wrapper" :class="$mq">
      <button class="navbar-dropdown-button-mobile" @click="this.toggleDropdownMenu"> <!-- set dropdown enabled / disabled -->
        <picture>
          <img
            class="navbar-dropdown-img-mobile"
            src="@/assets/icons/dropdown_menu_button.png"
            alt="Menu"
          />
        </picture>
      </button>
    </mq-layout>
    <!-- ... Other Code -->
    <!-- DROPDOWN -->
    <mq-layout mq="sm" class="navbar-dropdown-menu-mobile" v-if="this.showDropdownMenu"> <!-- show/hide dropdown depending on showDropDownMenu boolean  -->
      <n-link class="navbar-link-mobile" :class="$mq" to="/" prefetch>LINK</n-link>
      <n-link class="navbar-link-mobile" :class="$mq" @click.native="this.test" to="/pricing" prefetch>LINK</n-link> <!-- This @click.native thorws this error -->
      <n-link class="navbar-link-mobile" :class="$mq" to="/documentation" prefetch>LINK</n-link>
      <n-link class="navbar-link-mobile" :class="$mq" to="/support" prefetch>LINK</n-link>
    </mq-layout>
    <!-- ... Other Code -->
  </nav>
</template>

<script lang="ts">
import Vue from 'vue';
import { Component } from 'nuxt-property-decorator';

@Component({})
export default class NavbarComponent extends Vue {
  protected showDropdownMenu: boolean = false;

  protected toggleDropdownMenu() {
    this.showDropdownMenu = !this.showDropdownMenu;
  }

  test() {
    console.log("HIIIIII")
  }
}
</script>

1 Ответ

1 голос
/ 20 июня 2020

Не используйте this в шаблоне ваших Vue файлов.

<n-link class="navbar-link-mobile" :class="$mq" @click.native="test" to="/pricing" prefetch>LINK</n-link>

https://vuejs.org/v2/guide/events.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...