从服务初始化反应形式

时间:2020-06-09 04:11:13

标签: angular angular-reactive-forms angular-forms reactive-forms angularjs-ng-form

我正在尝试使用Angular反应形式。

此刻,我在服务-defaultService中初始化表单值。查看所有示例,我只能看到在Component中设置了表单默认值。

它们可以在使用中初始化吗?

LoginComponent.ts:

@Injectable
export class LoginComponent {
    constructor() {

    }

    public onNginit() {
        this.allFields = defaultService.loginSettings();
    }
}

DefaultService.ts

class BaseFields {
    columnName: string;
    tempName: string;
    visible: boolean;
    // blah
    // blah
}

class BasePrice extends BaseFields {
    displayDp: number;

    constructor(baseFields: BaseFields) {
        super();
    }
}

@Injectable
export class DefaultService {
    loginSettings: [BaseFields, BasePrice];
    accountActivated: boolean;
    accountLocked: boolean;
    retriesRemaining: number;

    constructor() {
        this.loginSettings = [
            {
                columnName: 'Quantity';
                tempName: 'Qty';
                visible: true;
            },
            {
                columnName: 'Reco Retail';
                tempName: 'RRP';
                visible: true;
                displayDp: 2;
            }
        ]
    }
} 

说实话,我认为可以更好地使用和定义类型来改进DefaultService。

0 个答案:

没有答案