Да.
|
Цитата:
newConstructor.prototype = Object.create(Target.prototype); newConstructor.prototype.constructor = newConstructor;быть может, это и подразумевалось, только автор опечатался |
Всё равно декоратор не работает нормально. Если делаю так, то всё ОК
function decorator(target) {
return target
}
@decorator
class MyClass {
public constructor( @Inject(HttpClient) protected http: HttpClient) {}
}
Но как только вместо target возвращаю в декораторе новый конструктор, DI перестает работать (сервисы не инжектятся) :( P.S. Сделал планк https://embed.plnkr.co/opnY3y/ |
Читал документацию по декораторам и смотрел как они в ES транспилятся - ничего сложного)
На stackoverflow ответили: https://stackoverflow.com/questions/...46606#45646606 Тоже пробовал что-то подобное, но оказывается нужно было newCtor делать именованной, а в конце все-таки использовать newConstructor.prototype = Object.create(target.prototype), а не newConstructor.prototype = target.prototype; Видимо, Ангуляр как-то по-особенному свои зависимости инжектит. Вот в его исходниках так и не разобрался - слишком муторный код |
| Часовой пояс GMT +3, время: 04:08. |