javascript - 如何根据类型在可扩展类上重用“工厂”方法?
问题描述
我有一个类:我的 Angular 应用程序上的BaseResourceModel
export abstract class BaseResourceModel{
id?: any;
description?: string;
name?: string;
}
还有其他几个继承自它的类,如下所示:
import { BaseResourceModel } from '@core/models/_base/base-resource.model';
export class CityModel extends BaseResourceModel{
constructor(ufId?: number){
super();
}
static factory(obj: any): CityModel{
return Object.assign(new CityModel(), obj);
}
}
我想知道是否有办法或正确的方法将static factory
方法放在 BaseResourceModel 上,但为每个继承人指定分配类型,如下所示:
export abstract class BaseResourceModel{
id?: any;
description?: string;
name?: string;
static factory(obj, class){
//ex.: class parameter will get here like CityModel
return Object.assign(new class(), obj);
}
}
解决方案
推荐阅读
- php - 视频上传脚本 PHP
- node.js - 在 API 中处理未定义变量的良好做法是什么?
- python - Python 字典打印值
- windows - 在 IIS 环境中更改域
- javascript - 无法将数据另存为数组然后另存为 CSV
- google-app-engine - Google App Engine 和 Identity-Aware Proxy - 为 SSH 启用 MFA?
- c# - 在 C# 上接收带有位图的双图像
- python - 如何使用 pyusb 正确调用 libusb_exit()
- oracle - 使用 in 子句加入 oracle 以获取列表
- yaml - 如何让 ruamel yaml 发出空白而不是 null?