当前位置: 首页 > 知识库问答 >
问题:

typescript - vue3中defineProps 接收对象属性时 传入过来的对象属性的格式错误的话 ts为什么没有报警告?

小牛23073
2024-08-08

父组件

<template>
  <div class="person">
      我是父组件
     <Child :person="person"/>
  </div>
</template>

<script lang="ts" setup>
import {ref,reactive} from "vue"
import Child from "./Child.vue"
const person = reactive({
  name:"zhangsan",
  age: "我应该是数字类型的,但是我现在故意赋值字符串"
})
</script>

子组件

<template>
  <div class="child">
    我是子组件
    <div>我是父组件传过来的对象类型:{{ person.name }} --- {{person.age}}</div>
  </div>
</template>

<script lang="ts" setup>
import { defineProps, toRefs, computed, defineEmits } from "vue";

interface Person {
  name: string;
  age: number;
}
interface UserInfoProps {
  person: Person;
}
const props = defineProps<UserInfoProps>();
</script>

我在父组件定义了perosn对象({
name:"zhangsan",
age:90
})然后传递给子组件,然后在子组件定义了defineProps的数据类型接口,
interface Person {
name: string;
age: number;
}
interface UserInfoProps {
person: Person;
}
现在有个问题,我什么我修改了父组件的person的name和age属性故意改错了,age本来应该是数值类型的,我改成字符串类型后,子组件的typescript并没有报警告呢,各位大神帮忙看看什么原因呢,感谢!!!

共有1个答案

陆子默
2024-08-08

vue sfc 的类型提示依赖 volar 扩展,首先检查下 volar 是否正常工作。而且报错的应该是父组件,子组件是不会报错的。

 类似资料:
  • 当我执行代码时,我得到一个错误, 属性错误:“WebDriver”对象没有属性“find_element_by_xpath”

  • 在使用一个库的时候碰到了一个很奇怪的问题,有个class实例化生成的对象,假设为A 对A的属性进行修改 打印A发现,其中的a属性并没有变,但是直接打印A.a是改变了的,请问这种情况大概会是什么原因呢,是有什么知识盲区吗,目前知道a属性是不可删除的属性,但是一般对象设置configurable=false也不会出现这种情况,如果不允许修改的话应该也会报错。。 (PS:A只是为了表述简化的例子,并不是

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题内容: 我正在尝试从中文网站中抓取一些javascript生成的内容。我正在使用Selenium(和Python),因为我无法直接抓取javascript内容。 我得到以下错误: 实际上,我似乎无法在selenium.selenium类中调用任何命令。毫无疑问,我忽略了非常明显的事情。提前致谢。 问题答案: 您只需要。 执行以获取页面上的html元素(最大的元素)。(您可以通过多种方式执行此操

  • 在这个错误之前,它已经给了我另一个“xrange不存在”之类的信息,所以我查找了它,并将nx_shp.py文件中的更改为,这似乎解决了这个问题。 根据我所读到的内容,它可能与Python版本(Python2 vs Python3)有关。

  • 我遇到了这个错误,它不允许我在表单中保存信息。初始数据在表单中显示良好,但保存起来很困难。希望有人能帮忙,我真的被困了 追踪: 内部 41 中的文件“C:\程序文件\Python35\lib\site-packages\django\core\处理程序\exception.py”。响应 = get_response(请求) 文件"C:\Program Files\Python35\lib\site

  • 问题内容: 我正在尝试读取文件,并用逗号在每行中拆分一个单元格,然后仅显示包含有关纬度和经度信息的第一和第二个单元格。这是文件: 时间, 纬度,经度 ,类型2015-03-20T10:20:35.890Z, 38.8221664,-122.7649994 ,地震 2015-03-20T10 :18:13.070Z, 33.2073333,-116.6891667 ,地震 2015-03-20T10

  • 我试图分裂链接的图像是什么错在我的代码