2016-07-01 21 views
23

Ich habe gerade von Angular2 RC1 auf RC4 aktualisiert.Angular2 die Funktion provide() in RC4 und später veraltet, was sollte stattdessen verwendet werden?

Bevor ich verwendet:

provide(LocationStrategy, {useClass: HashLocationStrategy}) 

jedoch nach dem RC4 aufgerüstet, die Shows bieten als veraltet.

Ich habe keine Dokumentation zu diesem Thema gefunden.

Hat jemand eine Vorstellung davon, was passiert ist?

+0

könnten Sie zeigen, wo der Import ist, bringt die Bereitstellung? –

+14

Verwenden Sie map literal '{bieten: LocationStrategy, useClass: HashLocationStrategy}' – yurzui

+3

Danke für die Antwort! Wie hast du das gefunden? Vielen Dank! – kdu

Antwort

25

Wie oben in den Kommentaren darauf hingewiesen, sollten Sie jetzt verwenden nur ein Objekt mit provide und useClass Eigenschaften, wie im folgenden Beispiel:

bootstrap(App, [ 
    CookieService, 
    AuthService, 
    WindowService, 
    COMMON_DIRECTIVES, 
    ROUTER_DIRECTIVES, 
    HTTP_PROVIDERS, 
    provideRouter(AppRoutes), 
    { provide: LocationStrategy, useClass: HashLocationStrategy } 
]); 

Dieses Beispiel aus meiner Github project using Angular2, Bootstrap 4, OAuth2, and Webpack ist. Ich habe es aktualisiert, da die verschiedenen Alpha-, Beta- und RC-Versionen von Angular2 veröffentlicht wurden.

+3

Wie injizieren Sie Mock Service in einem Testanzug? –

+0

unter 'providers 'mit' TestBed.configureTestingModule ({providers: [..]}) 'genauso wie hier – Tim