如何在Typescript中把一个空对象赋值给一个对象

My How can I assign an empty object to an object in Typescript?

本文关键字:一个 对象 赋值 一个对象 Typescript      更新时间:2023-09-26

我有这样的代码:

接口:

interface IAuthService {
    forms: {
        chn: any;
        che: any;
        cpw: any;
        fpw: any;
        login: any;
        logout: any;
        r: any;
        rpw: any;
    };

我的类:

class AuthService implements IAuthService {
    forms: {
        chn: any;
        che: any;
    };
static $inject = [
    '$interval'
];
constructor(
    public $interval
    ) {
    this.forms = {
        chn: {},
        che: {}
    };
}

谁能告诉我我能不能完成这个作业?

  chn: {},
  che: {}

在代码的前几行中,如果有任何理由在构造函数中这样做呢?如果可以的话,也可以在

  forms: {
        chn: any;
        che: any;

那么我该怎么做呢?我尝试了一些不同的组合,但都给我语法错误。

  forms: {
        chn: any = {};

给出了错误:

项目文件行错误TS2420类'AuthService'错误地实现了接口'IAuthService'。类型财产的"形式"是不相容的。键入'{chn: any;}'不能赋值给类型'{chn: any;格瓦拉:任何;}"。属性'che'在类型'{chn: any;}"。用户C: ' H ' '用户' app ' ' authservice服务。ts 1

你可以用"? "标记一些字段(属性)为可选的。":

interface IAuthService {
forms: {
    chn: any;
    che: any;
    cpw?: any;
    fpw?: any;
    login?: any;
    logout?: any;
    r?: any;
    rpw?: any;
};

在这种情况下,你可以做这样的赋值:

this.forms = {
    chn: {},
    che: {}
};

:

this.forms = {
    chn: {},
    che: {},
    cpw: {}
};

but NOT this:

this.forms = {
    chn: {}
};