मेरे पास दो सेवाएं हैं: ऑथ सर्विस और मोनबैंकेट सेवा, और ऑथ सेवा सेवा MyService पर निर्भर करती है।कोणीय 2 किसी अन्य सेवा में इंजेक्ट सेवा 2 उदाहरण बनाता है
AuthService.ts:: यहाँ इन 2 सेवाओं के बुनियादी कोड है
import {Inject, Injectable} from 'angular2/core';
import {MonBanquetService} from '../monbanquet.service'
@Injectable()
export class AuthService {
public username: string;
constructor(protected _monBanquetService: MonBanquetService) {
// do something()
}
}
MonBanquetService.ts
import {Injectable, Component} from 'angular2/core';
import {Http, Headers, Response} from 'angular2/http';
import {Router} from 'angular2/router';
@Injectable()
export class MonBanquetService {
constructor(public http: Http, private _router: Router) {
console.log('MonBanquetServices created');
}
}
और मैं boot.ts में प्रदाताओं के रूप में इन दोनों सेवाओं डाल:
bootstrap(AppComponent, [
ROUTER_PROVIDERS,
provide(LocationStrategy, {useClass: HashLocationStrategy}),
HTTP_PROVIDERS,
MonBanquetService,
AuthService
]);
हालांकि, जब मैं ऐप चलाता हूं, तो मुझे दो कंसोल लॉग 'MonBanquetServices बनाया गया' दिखाई देता है। मैंने सोचा कि सेवाओं को सिंगलेट होना चाहिए, यह कैसे है कि दो उदाहरण हैं?
धन्यवाद।
तो आदर्श रूप में आप केवल '' AuthService बूटस्ट्रैप निर्भरता है, जो यह आंतरिक रूप से प्राप्त करके 'MonBanquetService' के कहने पैदा करेगा अंदर जोड़ना चाहिए। –