में नेस्टेड ऑब्जर्जेबल मैं हैकरन्यूज़ पर शीर्ष आलेखों की एक सूची पुनर्प्राप्त करने के लिए एंगुलर 2 के http GET को आजमा रहा हूं और इसके बाद मैं अपने संबंधित विवरण को नेस्टेड अवलोकन में पुनर्प्राप्त कर दूंगा।एंगुलर 2
जब मैं लूप करने और अपने एचटीएमएल में डेटा प्रदर्शित करने की कोशिश करता हूं तो मुझे यह त्रुटि आती है।
नहीं खोजा जा सका एक अलग समर्थन वस्तु '[वस्तु वस्तु]'
इसके अलावा, मैं वहाँ अनुमान लगा रहा हूँ यह करने के लिए एक बेहतर तरीका है, किसी भी सूचक होना चाहिए?
getTopPost() {
this.http.get('https://hacker-news.firebaseio.com/v0/topstories.json')
.map(res => res.json())
.subscribe(
data => {
data.map(function(postId){
let storyUrl = "https://hacker-news.firebaseio.com/v0/item/"+ postId +".json";
that.http.get(storyUrl)
.map(res => res.json())
.subscribe(data => that.hnData = data,
err => that.logError(err),
() => console.log(that.hnData));
});
},
err => this.logError(err);
);
}
एचटीएमएल
<ion-item *ngFor="#item of hnData">
{{item.title}}
</ion-item>
लेकिन क्यों उन्हें नेस्ट एक अच्छा अभ्यास नहीं है? मुझे एक समस्या है क्योंकि मैं http.get पर घूम रहा हूं जो दो अवलोकन करने योग्य है, मैं इसे कुछ वचन देने की कोशिश कर रहा हूं (पहले कॉल को हल करें, फिर दूसरा करें) लेकिन मुझे कुछ अपरिभाषित पैरामीटर मिलते हैं जैसे कि मैं एक और दायरे में हूं । – mautrok
मुझे सच में नहीं लगता कि यह घोंसला देखने योग्य एक्सएचआर कॉल के लिए बुरा है लेकिन घोंसले की सदस्यता करना बुरा है (अन्य अवलोकन योग्य सदस्यता के अंदर एक अवलोकन करने योग्य)। आपको 'flatMap',' concatMap', जैसे ऑपरेटरों का उपयोग करना होगा .. और केवल एक बार सदस्यता लें। – bertrandg