首页 > 解决方案 > 我应该导入在另一个类构造函数中注入的类吗?

问题描述

我必须创建一个实例的默认/空白案例(用于估计),它使用另一个类(客户端),它本身使用另一个类(地址)。我想知道我是否应该同时导入地址和客户端,或者我的代码是否可以改进。

我的问题是,如果我想做一个空白的估算,我最终会得到

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 包含在第一个代码块的导入客户端中。有什么合适的方法吗?

标签: angulardependency-injection

解决方案


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('');

如果您对语法或其工作原理有任何疑问,请随时提出。


推荐阅读