Wywołanie funkcji w <template> przy złym typie argumentu

Wywołanie funkcji w <template> przy złym typie argumentu
Krwawy Ork
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 105
0

Witam, poniżej umieszczam mały kawałek kodu na którym uczę się TypeScripta. Zauważyłem, że edytor podkreśla mi na czerwoną linią kiedy chcę wywołać funkcję z błędnym typem argumentu ale np. wewnątrz template <button @click="changeCarName(25)">Change to RS model!</button> wywoluje funkcję changeCarName(25) gdzie przesyłam liczbę 25 i nie dostaję żadnej informacji o tym, że argument nie jest typu string. Nawet konsola w przeglądarce nie daje komunikatu. Może TypeScript nie działa z template w vue?

Kopiuj
<script lang="ts">
import { defineComponent, ref } from "vue";

export default defineComponent({
  setup() {
    const carName = ref<string>("Skoda Superb");

    const changeCarName = (name: string) => {
        carName.value = name;
    }

    return { carName, changeCarName };
  },
});
</script>

<template>
  <div class="card">
    <h1>{{ carName }}</h1>
    <h1>Hello my lovely car!!!</h1>
    <button @click="changeCarName(25)">Change to RS model!</button>
  </div>
</template>

<style>
.card {
  background-color: blanchedalmond;
  padding: 5px;
}
</style>

ledi12
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
47

Wygląda jak by z automatu parsowało na stringa.

Krwawy Ork
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 105
2

udało mi się znaleźć rozwiązanie, trzeba mieć zainstalowany dodatek Vetur i później w ustawieniach -> "Veture template"
zaznaczyć:

Niestety zawartość template lepiej dodatkowo samemu sprawdzać i pilnować.

image

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
2

Vetur nie jest już zalecanym toolingiem do vue w VS Code. Użyj rozszerzenia Volar.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.