2016-12-19 12 views
7

sortObservable से आने वाली वस्तुओं की एक सूची का सबसे अच्छा तरीका क्या है और अभी भी async pipe का उपयोग करने में सक्षम हो सकता है? (मैंने पढ़ा है कि एक कस्टम प्रकार पाइप बनाने वास्तव में कुशल नहीं है।) मैं सिर्फ async पाइप का उपयोग कर सदस्यता लेने और डेटा की एक स्थानीय प्रति रखते हुए और इस तरह से बचना चाहते हैं ...कोणीय 2 - पर्यवेक्षण से क्रमबद्ध सूची

//can I use map here and filter items right in the observable and get rid of subscribe? 

this.test$ = Observable.of(['one', 'two', 'three']) 
    .subscribe((data) => { 
     data.sort((a, b) => { 
      return a < b ? -1 : 1; 
     }); 
     this.data = data; 
    }); 

टेम्पलेट:

<div *ngFor='let item of data'> 
<!-- want to be able to use async pipe here --> 

उत्तर

11

यदि आप .subscribe() पर कॉल करते हैं तो आपको Subscription मिलता है, async पाइप Observable की अपेक्षा करता है।

आप

this.test$ = Observable.of(['one', 'two', 'three']) 
.map((data) => { 
    data.sort((a, b) => { 
     return a < b ? -1 : 1; 
    }); 
    return data; 
}); 

के लिए इसे बदल अगर आप इस बात की पुष्टि है कि मैं सॉर्ट करने के लिए प्रत्यक्ष का नक्शा ऑपरेटर का उपयोग कर सकते हैं के लिए के साथ test$

+0

धन्यवाद गुंटर async पाइप का उपयोग कर सकते हैं, यह सराहना करते हैं। – Thibs

संबंधित मुद्दे