• 1399/10/26

انتقال آرایه از یک کامپوننت به کامپوننت دیگر :

سلام وقت بخیر 

من به کمک یک سرویس یک آرایه رو داخل یک کامپوننت صدا زدم و داخل این کامپوننت یک اینپوت هست که با کلیک روی دکمه سیو یک هضو به آرایه اضافه میشه... حالا این آرایه آپدیت شده را که بهش عضوی اضافه شده میخوام داخل یک کامپوننت دیگه با ngfor  نمایش بدم چطور میتونم این آرایه اپدیت شده رو بیارم داخل کامپوننت دیگه؟ممنونم

  • 1399/10/26
  • ساعت 19:57

سلام

بله دوست من 

در دوره انتقال مقادیر بین کامپوننت ها رو گفتم


  • 1399/10/26
  • ساعت 20:34

کدوم قسمت هست من دوباره ببینمش؟!


  • 1399/10/26
  • ساعت 20:35

خاطرم نیست دوست من 

ولی یادمه چندبار هم استفاده کردیم 


  • 1399/10/26
  • ساعت 20:35

https://dev.to/chiangs/passing-data-between-nested-components-with-angular-50cm


  • 1399/10/27
  • ساعت 06:29

ممنونم ... این اینکی که دادین برای کامپوننت های فرزند و پدری هستند ولی کامپوننت های من رابطه فرزند و پدری ندارند ممنون میشم کمکم کنید میخوام دیتای آپدیت شده توی کامپوننت دیگر رو داخل یک کامپوننت دیگر که ربطی به هم ندارن نمایش بدم


  • 1399/10/27
  • ساعت 12:06

اگر رابطه ی پدر فرزندی ندارند میتونین از Behavior Subject ها استفاده کنین

 

به عنوان مثال فرض کنین دیتایی که قرار هستش بین چندین کامپوننت به اشتراک گذاشته بشه یک DTO با نام LoggedInUserDTO هستش

 

در سرویس مورد نظر متغیری بدین صورت تعریف کنین:

 

private currentUser: BehaviorSubject<LoggedInUserDTO> = new BehaviorSubject<LoggedInUserDTO>(null);

متدهای زیر هم برای دریافت و ثبت دیتا در سرویس قرار میگیرن:

 

setCurrentUser(user: LoggedInUserDTO): void {

       this.currentUser.next(user);

   }



   getCurrentUser(): Observable<LoggedInUserDTO> {

       return this.currentUser;

   }

 

برای تنظیم کردن دیتا از setCurrentUser استفاده کنین

 

برای دریافت اطلاعات هم کافی هستش که متد getCurrentUser رو فراخوانی کرده و اون رو subscribe کنین


logo-samandehi