我必须创建一个实例的默认/空白案例(用于估算),该实例使用另一个类(客户端),而该类本身使用另一个类(地址)。我想知道是否应该同时导入地址和客户,或者是否可以改进我的代码。
我的问题是,如果我想做一个空白的估算,我最终会得到
import {Client} from '../../models/client.model';
import {Adress} from '../../models/adress.model';
// other things
this.estimate = new Estimate('', new Client('', new Adress('', '', '', ''), '', '', '', '', ''), '', '', '', '');
,我必须同时导入“客户”和“地址”。我认为依赖注入足以仅导入客户端。我的客户构造函数如下所示:
import {Adress} from './adress.model';
export class Client {
constructor(
public adress: Adress,
// other properties
) {
}
我希望Adress包含在第一个代码块的导入的Client中。有什么适当的方法吗?
答案 0 :(得分:1)
export classe Estimate {
constructor(
public estimate: string,
public client = new Client(''),
) {}
}
export class Client {
constructor(
public name: string,
public address = new Address('')
) {}
}
export class Address {
constructor(
public name: string,
public street = '',
public city = '',
) {}
}
现在,您只需要打电话
estimate = new Estimate('');
如果您对语法或语法有疑问,请随时询问。
答案 1 :(得分:1)
您可以使用以下模型:
export class AdressModel {
public city: string;
public street: string;
public flat: string;
public zip: string;
constructor(obj?: Partial<AdressModel>) {
this.city = obj && obj.city || '';
this.street = obj && obj.street || '';
this.flat = obj && obj.flat || '';
this.zip = obj && obj.zip || '';
}
}