2016-07-12 17 views
5

http://plnkr.co/edit/yhQQZxTxB8ZVFysqO6lP?p=previewकोणीय 2 हल सेवा बूटस्ट्रैप

इससे पहले कि मैं अपने AuthService कैसे सुनिश्चित कर सकते AppComponent लोड होने से पहले हल हो गई है?

//main entry point 
import {bootstrap} from '@angular/platform-browser-dynamic'; 
import {Http,HTTP_PROVIDERS} from '@angular/http'; 
import {App} from './app'; 
import {AuthService} from './auth.service'; 
import {provide, enableProdMode, APP_INITIALIZER} from '@angular/core'; 

bootstrap(App, [HTTP_PROVIDERS, 
provide("isLoggedIn", { useFactory: (auth:AuthService) =>() => auth.login(), deps:[HTTP_PROVIDERS], multi: true }), 
]) 
    .catch(err => console.error(err)); 
+0

http://stackoverflow.com/questions/38127741/angular-2-services-consuming-others-services- की संभावित डुप्लिकेट पहले-कॉल-ए-विधि – estus

उत्तर

0

आप APP_INITIALIZER टोकन का उपयोग कर सकते हैं अपने authFactory प्रदान करने के लिए:

//main entry point 
import {bootstrap} from '@angular/platform-browser-dynamic'; 
import {Http,HTTP_PROVIDERS} from '@angular/http'; 
import {App} from './app'; 
import {AuthService} from './auth.service'; 
import {provide, enableProdMode, APP_INITIALIZER} from '@angular/core'; 

export function authFactory(auth: AuthService){ 
    return auth.login() 
} 

bootstrap(App, [ 
    HTTP_PROVIDERS, 
    { 
     provide: APP_INITIALIZER, 
     useFactory: (auth), 
     deps: [AuthService], 
     multi: true 
    } 
]).catch(err => console.error(err)); 
संबंधित मुद्दे