मेरे पास एक घटक है जो एक असीमित रूप से प्राप्त वस्तु पर निर्भर है। टेम्पलेट में बाल घटक भी हैं जो इस वस्तु से कुछ डेटा पर भरोसा करते हैं।कोणीय 2 Async डेटा समस्या
मुझे जो समस्या हो रही है वह क्लासिक रेस की स्थिति प्रतीत होती है, लेकिन समाधान को समझने के लिए मैं कोणीय 2 के साथ पर्याप्त परिचित नहीं हूं।
उदाहरण के लिए यह लो:
export class SampleComponent {
constructor(service: SomeService) {
this.service = service;
this._loadData();
}
private _loadData() {
this.service.getData().subscribe(data => this.data = data);
}
}
लेकिन टेम्पलेट में, मैं बच्चे घटकों this.data
के कुछ भागों प्रदर्शित करने के लिए:
<taglist tags="data?.tags"></taglist>
अब taglist
के लिए घटक तरह दिखता है
@Component({
selector: 'taglist',
directives: [NgFor],
inputs: ['tags'],
template: `<span *ngFor="#tag of tags">{{ tag }}</span>`
})
export class TagList {
public tags: Array<string> = [];
constructor() {
//
}
}
क्योंकि टैग इनपुट प्राप्त होता है एसिंक लोड किए गए डेटासेट से, यह तब मौजूद नहीं है जब टैग घटक प्रारंभ होता है। मैं क्या कर सकता हूं कि जब this.data
लोड समाप्त हो गया है, तो इसका उपयोग करने वाले उप घटक स्वचालित रूप से नए लोड किए गए डेटा तक पहुंच जाएंगे?
किसी अंतर्दृष्टि के लिए धन्यवाद जो आप मुझे प्रदान करने में सक्षम हो सकते हैं!
तो मैं:
तो फिर तुम इस नमूदार सीधे टेम्पलेट में
async
पाइप का उपयोग कर उपभोग कर सकते हैं इस पहले कोशिश की, और जब मैं console.log chages ['टैग']। वर्तमान वैल्यू मूल्यांकन मूल्य के बजाय स्ट्रिंग 'डेटा? .tags' मुद्रित करता है:/ –मैं देखता हूं। '<टैगलिस्ट [टैग] =" डेटा? .tags ">' या '<टैगलिस्ट टैग =" {{डेटा? .tags}} ">' –
बहुत बढ़िया, मैं इसे यहां एक मिनट में आज़माउंगा। पॉइंटर्स –