Burada, TypeScript ve Angular 2'de yazılan oldukça büyük ölçekli uygulama üzerinde çalışıyoruz. Angular 2 enjektörünü özel bir şekilde kullanın. Aslında çerçeve tarafından tasarlanmamış bir şey yapmaya çalışıyorum emin değilim, ama şimdiye kadar ne yapmaya çalıştığımı sadece kötü çözümler buldum ...Köşeli 2 - Bağımlılıkları bir bileşen olmayan ve hizmet dışı bırakılmayan özel sınıfa nasıl enjekte edilir
Yani, elde etmeye çalışıyorum Enjektörden @Component davranışını içermeyen ve Global veya komponent seviye enjektörüne eşlenmiş Servis olarak Enjektör'e maruz kalmayan sınıflara değerler uygulamaktır. (Bence bu iki kapsamdaki şeyleri nasıl enjekte edeceğimi gayet iyi anlıyorum ve gayet iyi çalışıyor). Ben çalıştığım şey
böyle bir şeydir:
export class SomeCustomClass {
constructor(injection:InjectionToken) {
console.log('injection', injection);
}
}
Ve ben bootstrap içinde veya parçası olarak enjektör Bu sınıf eklemek istiyorum eğer @component dekoratör güzel çalışacak eğer biliyorum . Sorun şu ki yapma niyetim değil. Aslında basit yaşayabilir
factory.createInstanceWithInjectionApplied(SomeCustomClass);
:
Benim ihtiyacım gibi bir şey
var instance:SomeCustomClass = new SomeCustomClass();
Ama bu gerçekçi görünmemektedir.
Oh, ve evet, düşünebildiğim herşeyi denedim - @Injectable() bunun gibi örneklerde hiçbir şey yapmamak, Injector.createAndResolve ayrıca işe yaramaz ve statik özellikte Uygulama Enjektör de iyi bir fikir gibi görünmüyor.
Şimdiden teşekkürler!
Zaten bir çözüm bulabildiniz İşte
bir örnektir? – Matey