Почему машинописный текст не дает никаких ошибок, когда я передаю неправильный тип в параметре функции?

<template>
  <div class="app">
    Hello, {{ name }}
    <button @click="changeName(1)">Change Name</button>
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'App',
  components: {
  },
    data(){
      return {
        name:'Link'
      }
    },
    methods: {
      changeName(name: string){
        this.name = name
      }
    }
});
</script>

<style>

</style>

Я пытаюсь изучить машинописный текст, и одна из вещей, которые я знаю о машинописном тексте, - это проверка типа. У меня есть метод changeName (имя: строка) с именем аргумента, которое должно быть строкой. Но когда я передаю число или логическое значение из параметра функции changeName шаблона. Он принимает и даже не выдает ошибку.


person aarush magar    schedule 15.05.2021    source источник
comment
Ваш редактор настроен на правильное отображение ошибок? Интерпретатор Typescript творит чудеса во время компиляции (команда tcs). Typescript компилируется в обычный код javascript, который не проверяет типы.   -  person Kilian    schedule 15.05.2021
comment
@Kilian, он проверяет тип, когда я даю число внутри имени данных ... но для параметра функции он не проверяет   -  person aarush magar    schedule 15.05.2021


Ответы (1)


Расширение typescript не может проверять типы в разделе шаблонов, поэтому вам следует установить Vuedx. расширение, которое позволяет вам проверять типы в шаблоне и имеет другие функции:

Это расширение предоставляет такие функции, как проверка типов, завершение, переименование и рефакторинг файлов .vue за счет расширения расширения TypeScript.

person Boussadjra Brahim    schedule 15.05.2021