2016-03-23 18 views
0

Bir sonraki çözüme sahibim ama angular2 için en iyi uygulama hangisidir?Angular2'de sınıfların (hizmetlerin değil) örneklerine nasıl hizmetler enjekte edilir?

... 

class MultitonObject { 
    _http: Http; 

    constructor (appInjector: Injector) { 
     this._http = appInjector.get(Http); 
    } 
} 

var app = bootstrap(AppComponent, [HTTP_PROVIDERS, ...]); 

app.then(componentRef => { 
    var new_instance = new MultitonObject(componentRef.injector); 
}); 
+0

'MultitonObject' hizmetini yapamayacağınız veya yapmak istemediğiniz bir neden var mı? –

+0

Ben tam olarak ne elde etmeye çalıştığını anlamıyorum. –

+0

Örneğim Angular2 öğreticisini temel alıyor. Hayal et, farklı uygulama alanlarında Kahramanlar oluşturmak istiyoruz. Bazen bu kahramanları, Hero örneğine enjekte Http kullanarak kaydetmek istiyoruz. var hero = new Hero (name = "Windstorm"); hero.setName ("Windstorm 2"); hero.save(); –

cevap

0

Köşeli bağımlılık enjeksiyonu, yalnızca kendi oluşturduğu sınıflara enjekte edilebilir. Bir örneği kendiniz new MyClass() ile oluşturursanız, Açısal yapmanın yapabileceği hiçbir şey yoktur.

Sorunuzdaki kod bu kullanım durumu için uygundur.

İlgili konular