मैं एक मूल Angular2 ऐप को तार करने की कोशिश कर रहा हूं जो एचटीपी सेवा का उपयोग करता है। (ट्यूटोरियल मैं एक Component
Http
सेवा है, जो गलत लगता है, जब तक कि पतली नियंत्रकों के बुनियादी दर्शन बदल गया है उपभोग होने से यह कर देखा है में से अधिकांश - लेकिन यह एक अलग सवाल है।)क्या आप केवल बूटस्ट्रैप के माध्यम से सेवाओं में सेवाओं को इंजेक्ट कर सकते हैं?
मैं एक बनाना चाहते हैं सेवा जो कोणीय की Http
सेवा का उपयोग करती है। लेकिन मैं समझ नहीं कैसे Http
सेवा इस के अलावा अन्य सुई:
boot.ts:
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';
import {HTTP_PROVIDERS } from 'angular2/http';
bootstrap(AppComponent, [HTTP_PROVIDERS]);
myService.ts:
import {Injectable} from 'angular2/core';
import {Http} from 'angular2/http';
@Injectable()
export class aService{
constructor(http:Http){
}
/** do some stuff *//
}
यह काम करता है, लेकिन यह बहुत लग रहे हैं सेवा की उपयोगकर्ता को सेवा की निर्भरताओं को जानने के लिए गलत होना आवश्यक है और उन्हें बूटस्ट्रैप प्रक्रिया में इंजेक्ट करने की आवश्यकता होनी चाहिए। ऐसा लगता है कि एक providers
सरणी को एक सेवा के लिए सीधे उसी तरह से हाथ में रखने का एक तरीका होना चाहिए, लेकिन मुझे यह नहीं मिल रहा है। क्या मैं बस कुछ याद कर रहा हूँ?
"जब तक पतली नियंत्रकों के मूल दर्शन में बदलाव नहीं हुआ है" - यह नहीं है। [आर्किटेक्चर अवलोकन] को उद्धृत करने के लिए (https://angular.io/docs/ts/latest/guide/architecture।एचटीएमएल) गाइड: "एक घटक का काम उपयोगकर्ता अनुभव को सक्षम करना और कुछ और नहीं करना है। यह दृश्य के बीच मध्यस्थता करता है ... और एप्लिकेशन तर्क ... यह सबकुछ सेवाओं के लिए गैर-तुच्छ प्रदान करता है।" –
धन्यवाद @MarkRajcok - इस तरह मुझे लगता है कि यह किया जाना चाहिए। मेरा भ्रम इस तथ्य से आता है कि दस्तावेज नियंत्रकों को उससे भी ज्यादा कुछ दिखाता है। (उदाहरण के लिए: https://angular.io/docs/js/latest/api/http/Http-class.html) यदि घटक वास्तव में पतले होने चाहिए, तो वे शायद http से अक्सर काम नहीं करेंगे, लेकिन दस्तावेज़ों का मतलब है कि यह सामान्य है। –
ठीक है, एपीआई दस्तावेज़ों में उदाहरण एक ऐप आर्किटेक्ट करने के लिए सर्वोत्तम प्रथाओं का पालन करने की संभावना नहीं है, और यह शायद उचित है। –