कोणीय पथ पैरामीटर को मिलाना?

Oct 07 2020

कोणीय सामग्री डॉक्स एप्लिकेशन इस तरह से पथ मापदंडों को जोड़ती है:

    // Combine params from all of the path into a single object.
    this.params = combineLatest(
        this._route.pathFromRoot.map(route => route.params), Object.assign);

यहाँ एक उदाहरण है: https://github.com/angular/material.angular.io/blob/master/src/app/pages/component-category-list/component-category-list.ts

हालाँकि यह त्रुटि उत्पन्न करता है:

@deprecated - resultSelector अब समर्थित नहीं है, इसके बजाय मैप करने के लिए पाइप

तो चारों ओर पाने के लिए ऐसा करना संभव है:

    this.params = combineLatest(
      this._route.pathFromRoot.map(route => route.params)
    ).pipe(
        map(Object.assign)
    );

जैसा कि यहां प्रलेखित किया गया है: @Leprecated - resultSelector के लिए कम्‍बाइन करने के लिए कम्‍बाइन करने के लिए कम्‍बाइन करें।

हालाँकि यह त्रुटि पैदा करता है:

ERROR TypeError: SafeSubscriber._next (घटक-श्रेणी-list.ts: 50) पर अपरिभाषित की संपत्ति के नाम को पढ़ नहीं सकते। SafeSubscriber .__ tryOrUnsub (Subscriber.js: 183) पर SafeSubscriber.next (Subscriber.js: 122) की सदस्यता लें। MapSubscriber.next (Subscriber.js: 72) पर सब्सक्राइबर .next (सबस्क्राइबर। js: 49) MapSubscriber._next (map.js: 35) पर MapSubscriber.next (सबस्क्राइबर .js: 49) CombineLatestSubscriber.notifyNext पर मिलाएं। : BeSviorSubject। सदस्यता लें

तो ऐसा लगता है sectionकि URL पैरामीटर जो घटक की तलाश कर रहा है, उसे रीफैक्टरिंग के बाद कैप्चर नहीं किया जा रहा है। विचार?

जवाब

Ole Oct 09 2020 at 11:23

इस Object.assignतरह से गुजरते समय मापदंडों को नष्ट होना चाहिए :


    // Combine params from all of the path into a single object.
    this.params = combineLatest(
      this._route.pathFromRoot.map(route => route.params)).
      pipe(map((params:Params[])=>Object.assign({}, ...params)));