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

前端 - typescript中初始化未赋值也不会报错的属性是什么?

洪楚
2024-04-26

typescript里面有一个属性 初始化的时候不会被检测,忘记是哪个了

interface IMessageData{  realname: string;  createTime: string;  content: string;}

const messageData:IMessageData[] = ref([]) 印象里是在 messageData:IMessageData[] 中间加入 <pXXXX>的属性,初始化的时候不赋值也不会飘红

共有2个答案

上官淮晨
2024-04-26

直接约束 ref 的类型就好了

interface IMessageData{    realname: string;    createTime: string;    content: string;}const messageData = ref<IMessageData[]>([]);
郁烨
2024-04-26

是说的泛型参数吗?ref<IMessageData[]>() 这样子?因为 ref 不指定类型的话,[] 的类型会被推断为 never[] 所以会报错,写成 const messageData: Ref<IMessageData[]> = ref([]) 也行。

重新看了一下,你把类型定义里的属性设置为可选(?)就好了,楼上的 Partial 工具类也行(转可选)

 类似资料:
  • 这是我的主要功能 我在我的主类中调用它,并且一切正常,我可以得到响应。 当我想为它编写测试时,我遇到了错误“kotlin.UninitializedPropertyAccessException:lateinit属性客户端尚未初始化”,有人能帮我吗?"

  • Json服务器数据显示,在使用retrofit2和rxjava2的android中,当参数传递给inteface时,会出现错误。 接口

  • 我不知道这是怎么回事 主要活动 我遇到了这个问题 2022-03-18 09:18:27.393 13874-13874/com。实例githubuser2 E/AndroidRuntime:致命异常:主进程:com。实例githubuser2,PID:13874 java。lang.RuntimeException:无法启动活动组件信息{com.example.githubuser2/com.e

  • 我有一个类,我注入到ViewModel ViewModel工厂,当在活动中的onCreate方法中初始化视图模型时,它说传递的值没有初始化。 下面是我的代码 我对Kotlin很陌生,所以尝试过调试,但在这个问题上卡住了。 这是Mainactive代码: 我的ViewModelFactory: 我的班级回购: 这是我收到的错误:

  • 我正在尝试使用Spring-boot+Vaadin创建一个web项目,并且希望使用spring-data-jpa和hibernate从PostgreSQL数据库中获取数据。 在我的Vaadin看来,我尝试自动连接我的服务类,但我总是得到null,而且eror堆栈跟踪没有告诉我原因。 数据库得我得配置: 视图和UI: pom.xml: 我的服务: 更新的解决方案:

  • 我知道一个类似的问题已经在这里得到了回答。但那是由于黄油刀库的问题,但我的情况不同。在我的例子中,当我在基本活动中使用dagger injected属性时,它显示了由:kotlin.uninitializedPropertyAccessException引起的错误:lateinit属性pref尚未初始化 AppComponent