Мой конструктор имеет необязательные параметры, и они, похоже, вмешиваются в преобладающий способ выполнения DI.
constructor(public name:string, public age?:number, private _service:Service);
Typescript По понятным причинам мне не нравится, что вместо необязательного параметра я помещаю необязательный параметр, кроме того, служба не вводится, когда необязательный параметр не задан. Как я могу это решить? Я не могу помещать его где-то еще в конструкторе, так как я ожидал бы установить сервис вручную.
Есть ли что-то вроде инъекции в поле?
@Inject() private _service:Service;
constructor(public name:string, public age?:number);
Следует ли заменить необязательные параметры значениями по умолчанию? Любые другие предложения?
спасибо
Edit Как обсуждалось ниже, я попытался внедрить службу в объект, который не создан Angular DI. Это не работает. Поскольку я не могу создать этот класс (модель) с помощью DI, я теперь передаю службу вручную из класса, который создает экземпляры этих объектов.