Angular 保存导航操作符未按预期工作

问题描述 投票:0回答:1

我遇到了安全导航操作员(?)未按预期工作的问题。

task = {
    title: 'Review applications',
    assignee: null
};
test = this.task.assignee?.name;

enter image description here

产生以下错误:

TS2339:属性“名称”在类型“从不”上不存在。

当前环境

  • Angular CLI: 17.3.8
  • 节点:20.13.1
  • 包管理器:npm 10.5.2
  • 打字稿:5.4.2

我进行了搜索并发现了类似的问题,但它涉及使用旧版本的打字稿,其中我正在使用较新的版本,并且认为此时不会存在此问题:

如何解决这个问题?

angular typescript angularjs-directive
1个回答
0
投票

尝试定义界面突出显示打字稿,值可以存在或可以为空!否则它会根据该值推断受让人的类型为 null,这会给您带来错误!

export interface Task {
    title: string;
    assignee: {name:string} | null;
}

task: Task = {
    title: 'Review applications',
    assignee: null
};
test = this.task.assignee?.name;
© www.soinside.com 2019 - 2024. All rights reserved.