আয়নিক 5 এ @ অায়োনিক / কৌণিক ত্রুটি থেকে কীভাবে সদস্য ইভেন্ট ঠিক করবেন


10

আমি আয়নিক 4 থেকে আয়নিক 5 এ আপগ্রেড করেছি, এখন নিম্নলিখিত ত্রুটি হচ্ছে:

Src / app / app.componal.ts (4,10) এ ত্রুটি: ত্রুটি TS2305: মডিউল '"/ নোড_মডিউলস / @ আইয়নিক / কৌণিক / আয়নিক-কৌণিক"' এর কোনও রফতানি সদস্য 'ইভেন্টস' নেই।

নিম্নলিখিত আমদানি লাইনটি সমস্যার কারণ:

import { Events, Platform } from '@ionic/angular';

@ionic/angularঅয়ন 5-এ ত্রুটি থেকে সদস্য ইভেন্টটি আমি কীভাবে ঠিক করতে পারি ?


হাই, আমিও একই সমস্যার মুখোমুখি হই। এবং আমার কাছে মনে হয় যে অয়ন 4 ইভেন্টগুলি মুছে ফেলেছে। আমি এটি পেয়েছি: স্ট্যাকওভারফ্লো / প্রশ্ন / 5৮৮৫373737৯৯/… সম্ভবত এটি সাহায্য করে
আইপ্যাড

1
আমার একই ত্রুটি রয়েছে, এর জন্য একটি সাধারণ প্রতিস্থাপন খুঁজে পেয়েও খুশি হব। আমার ক্ষেত্রে রিডেক্সের পক্ষে যেতে চাই না।
ফারঘো

আমিও পেয়ে যাচ্ছি। এটি একটি বিশাল, ব্রেকিং পরিবর্তন মত মনে হচ্ছে। এটি কি আয়নিক দল কখনও নথিভুক্ত করেছিল? যদি তা হয় তবে আমি এটি পড়তে চাই!
জন

@ আইপ্যাড দয়া করে আমার উত্তরটি পরীক্ষা করুন।
শশাঙ্ক অগ্রওয়াল

@ জন এটি আয়নিকের ব্রেকিং পরিবর্তন ডকুমেন্টেশনে নথিভুক্ত করেছেন। আমার উত্তর পরীক্ষা করুন।
শশাঙ্ক অগ্রওয়াল

উত্তর:


17

Eventsথেকে @ionic/angularপ্যাকেজ আয়নের 5. থেকে সরানো Got You Ionic5 পরিবর্তন ভঙ্গ দেখতে পারেন এখানে

যেমনটি ব্রেকিং পরিবর্তনগুলির উল্লেখ করা হয়েছে, আপনার ব্যবহার করা উচিত Observables

উদাহরণস্বরূপ, আপনি নিম্নলিখিত পরিষেবা তৈরি করতে পারেন:

import {Injectable} from '@angular/core';
import {Subject} from 'rxjs';

@Injectable({
    providedIn: 'root'
})
export class GlobalFooService {

    private fooSubject = new Subject<any>();

    publishSomeData(data: any) {
        this.fooSubject.next(data);
    }

    getObservable(): Subject<any> {
        return this.fooSubject;
    }
}

এখন, আপনি যেকোন উপাদান যেমন সাবস্ক্রাইব করতে পারেন app.component.ts:

@Component({
    selector: 'app-root',
    templateUrl: 'app.component.html',
    styleUrls: ['app.component.scss']
})
export class AppComponent {

    constructor(private globalFooService: GlobalFooService) {
        this.initializeApp();
    }

    initializeApp() {
        // other code

        this.globalFooService.getObservable().subscribe((data) => {
            console.log('Data received', data);
        });
    }
}

এখন, আপনাকে কেবলমাত্র অন্য কোনও উপাদান থেকে ইভেন্টটি ছড়িয়ে দিতে হবে:

@Component({
    selector: 'app-home',
    templateUrl: 'home.page.html',
    styleUrls: ['home.page.scss']
})
export class HomePage {

    constructor(private globalFooService: GlobalFooService) {
    }

    onSomeButtonClick() {
        this.globalFooService.publishSomeData({
            foo: 'bar'
        });
    }
}

এটি একটি খুব সাধারণ সমাধান / উদাহরণ বা এর বিকল্প Eventsতবে আপনি কোনও বিষয়বস্তু সহ একটি নাম স্পেস ইভেন্ট করতে আপনার কোডটিকে আরও সামঞ্জস্য করতে পারেন।

আমি এটিতে একটি ব্লগ লিখেছি যা আপনাকে একটি পূর্ণ বৈশিষ্ট্যযুক্ত সমাধান দিতে পারে যাতে খুব কম কোড পরিবর্তন হলে আপনি আপনার অ্যাপ্লিকেশনটি আপগ্রেড করতে পারেন।

https://medium.com/wizpanda/dealing-with-breaking-change-in-ionic-5-db3ba711dfcd


0

ইভেন্টগুলি সরানো হয়েছে। আপনি পর্যবেক্ষণযোগ্য এবং বিষয় আচরণ হিসাবে আপনার নিজের হিসাবে ইভেন্ট হিসাবে নিজের পরিষেবা করতে পারেন যাতে আপনি ডিম্বাশয়কে প্রকাশ করতে পারেন এবং মান পেতে সাবস্ক্রাইব করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.