Vue+;Typescript(不要使用Typescript处理道具类型)

Vue+;Typescript(不要使用Typescript处理道具类型),typescript,vue.js,Typescript,Vue.js,我将错误类型的项传递给“ListItem”组件,但我的typescript没有抛出错误 :item=“{lol:'string'}”作为其他类型,但应为{id:1,title:'Buy bread',completed:false}作为TodoItem类型 组件TodoList: <template> <div class="container"> <ol> <list-item v-for=

我将错误类型的项传递给“ListItem”组件,但我的typescript没有抛出错误

:item=“{lol:'string'}”作为其他类型,但应为{id:1,title:'Buy bread',completed:false}作为TodoItem类型

组件TodoList:

<template>
   <div class="container">
        <ol>
          <list-item v-for="t of todos" :item="{ lol: 'string' }" :key="t.id"/>
        </ol>
   </div>
</template>

<script lang="ts">
      import ListItem from '@/components/ListItem.vue'
      import { ListState } from '@/types/home-page'
      import { reactive, defineComponent } from 'vue';
    
      export default defineComponent({
        name: "TodoList",
        components: {
          ListItem
        },
        setup () {
          const state = reactive<ListState>({
            todos: [
              { id: 1, title: 'Buy bread', completed: false },
              { id: 2, title: 'Wash the dishes', completed: true },
              { id: 3, title: 'clean the room', completed: false },
            ]
          });
    
          return { ...state };
        }
      });
    </script>
<template>
    <li> {{ item }} </li>
</template>

<script lang="ts">
  import { TodoItem } from '@/types/home-page'
  import { PropType, defineComponent } from 'vue'

  export default defineComponent({
    name: "ListItem",
    props: {
      item: Object as PropType<TodoItem>,
    }
  });
</script>
export interface TodoItem {
  id: number;
  title: string;
  completed: boolean;
}

export interface ListState {
  todos: TodoItem[];
}