错误TypeError:无法设置未定义的属性“ id”

时间:2020-08-19 10:48:34

标签: json angular typescript angular-reactive-forms

我正在使用Angular 7,我需要向服务器发布请求。 Angular反应形式收集的数据。这是需要实现的原始结构。

(a OR b) AND (c OR d)

这是模型类。

{
    "title" : "Test Title",
    "user": {
        "id" : 7
    },
    "category": {
        "id" : 2
    },
    "description" : "test description",
    "quantity" : 2
    
}

然后,我建议为SampleRequest对象一个接一个地分配元素。因为不能直接添加用户ID和类别ID。如果有误,请提及。

这是sample-request.ts类。

export class SampleRequest {
  title: string;
  category: { id: number};
  user: { id: number};
  description: string;
  quantity: number;
}

然后我收到错误TypeError:无法设置未定义的属性“ id”。用户ID由登录的用户ID通过JWT令牌分配。类别ID由反应形式分配。

1 个答案:

答案 0 :(得分:1)

即使您已经给出了,在您的代码中

sampleRequest: SampleRequest = new SampleRequest();

sampleRequest对象中的其他组件(用户和类别)仍未定义。

尝试创建一个新的空类别和一个新的空用户对象,并将其设置为sampleRequest对象

sampleRequest.category = {};
sampleRequest.user = {};

并且不再出现“ TypeError:无法设置未定义的属性'id'”错误。