2016-03-23 4 views
0

Ich habe die nächste Lösung, aber was ist die beste Praxis für angular2?Wie können Services in Angular2 in Instanzen von Klassen (also nicht Services) injiziert werden?

... 

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

Gibt es einen Grund, warum Sie "MultitonObject" nicht zu einem Dienst machen können oder wollen? –

+0

Ich verstehe nicht einmal genau, was Sie versuchen zu erreichen? –

+0

Mein Beispiel basiert auf Angular2 Tutorial. Stellen Sie sich vor, wir möchten Helden in verschiedenen Teilen der Anwendung erstellen. Manchmal möchten wir diese Helden mit injizierten Http in Hero Instanz speichern. var hero = neuer Held (name = "Windsturm"); hero.setName ("Windsturm 2"); held.save(); –

Antwort

0

winkelförmigen Stangen Injektion Abhängigkeit kann nur Klassen injizieren es selbst schafft. Wenn Sie selbst eine Instanz mit new MyClass() erstellen, kann Angular nichts dagegen tun.

Der Code in Ihrer Frage ist für diesen Anwendungsfall in Ordnung.

Verwandte Themen