【问题标题】:Angular - Interface data to another interface ( few fields )Angular - 将数据连接到另一个接口(几个字段)
【发布时间】:2021-01-13 17:09:51
【问题描述】:
  1. 我有一个界面
export interface User {
  userName: string;
  creationDate: string;
  modificationDate: string;
  status: number;
  uid: number;
}
  1. 我还有另一个界面UserStatus
export interface UserStatus {
  uid: number;
  status: number;
}

我只想将 User 的数据保留在 UserStatus 中(与名称匹配的那些)。 所以删除不需要的字段,如用户名等。

请问最好的方法是什么?

【问题讨论】:

  • 当您说“保留数据”时。您是否要维护User 对象实例的数据?或者您希望UserStatus 接口具有与User 接口相同的属性?
  • 可以维护数据,其实只是少了几个字段而已。因为我需要将数据发送到网络服务(使用像 UserStatus 这样的修复布局)

标签: angular interface


【解决方案1】:

每当您获得用户的结果时,使用 for in 循环来填充 UserStatus 类型的新变量

export interface User {
  userName: string;
  creationDate: string;
  modificationDate: string;
  status: number;
  uid: number;
}

export interface UserStatus {
  uid: number;
  status: number;
}

const testUser : User = {

  userName: "RickSanchez",
  creationDate: new Date().toString(),
  modificationDate: new Date().toString(),
  status: 1,
  uid: 123456
}

function GetUser() {

  const user = testUser;
  let userStatus = {} as UserStatus;
  for(let key in user){
    if(key === 'uid')
      userStatus.uid = user[key];

    if(key === 'status')
      userStatus.status = user[key];
  }
  console.log(userStatus)
}

GetUser();

【讨论】:

  • 没问题!如果它解决了您的问题,将不胜感激并标记为已解决
猜你喜欢
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多