通过在一个接口中定义多个属性和其他接口,并在其他接口中使用它们来解决这个问题。以下是一个示例解决方案:
interface Contact {
  name: string;
  email: string;
  address: Address;
}
interface Address {
  street1: string;
  street2?: string;
  city: string;
  state: string;
  zip: string;
}
@Component({
  selector: 'app-contact-form',
  templateUrl: './contact-form.component.html',
  styleUrls: ['./contact-form.component.css']
})
export class ContactFormComponent implements OnInit {
  contact: Contact;
  constructor() { }
  ngOnInit() {
    this.contact = {
      name: '',
      email: '',
      address: {
        street1: '',
        city: '',
        state: '',
        zip: ''
      }
    };
  }
}
在上面的示例代码中,我们定义了一个名为Contact的接口,该接口包含名字,电子邮件和地址属性。 地址属性又是另一个名为Address的接口类型。然后我们在组件中实例化Contact对象,同时通过内嵌的地址对象来填充地址属性。 注意,其中一些地址属性是可选的。