Typescript error: The object can be undefined

Typescript error: The object can be undefined

我正在使用vuejs

this.$slots.eventsContent?.[0]?.data = {};

我从 IDE 那里得到了错误。

TS2779: The left-hand side of an assignment expression may not be an optional property access.

你知道如何消除错误吗?

不要使用可选的 属性。

this.$slots.eventsContent[0].data = {}; 

如果你得到“属性 maybe undefined error”,你可以这样做:

if (this.$slots.eventsContent && $slots.eventsContent.length > 0) {
    this.$slots.eventsContent[0].data = {}; 
} 

在做任何事情之前检查一下 属性 是否未定义。这样打字稿将确保您的变量已定义。

您不能将可能未定义的内容分配给 属性。如果您确定这些不是未定义的,您可以使用 this.$slots.eventsContent!.[0]!.data = {} 忽略它,或者如果您只想在值已定义时分配它,那么您需要嵌套 ifs 来检查未定义