راکت

انتقال اطلاعات بین کامپوننت ها در لایووایر

4 پاسخ

سلام دوستان ممنون میشم راهنمایی کنید
من توی ویو یه کامپوننت به نام index چنتا مدال ساختم که هرکدام اطلاعات مختلفی دارن من داخل هرکدام از مدالها یه کامپوننت دیگه دارم که می‌خوام وقتی روی دکمه مدال کلیک میشه اطلاعات مربوط به خودش رو به کامپوننتی بفرستم که داخل مدال خودش هست و در کامپوننت ی اطلاعات رو دریافت کنم و نمایش بدم داخل مدال باید چکار کنم؟

ثبت پرسش جدید

پاسخ‌ها

4
حمید محسنی
حمید محسنی
@Hamid258

تخصص: گرافیست

دوستان لطفاً راهنمایی کنید

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

سلام عزیز
بستگی داره از لایو وایر ورژن دو استفاده کنی یا سه
توی ورژن دو از emit استفاده میکنی توی کامپوننت خودت و داده رو ارسال میکنی و توی کامپوننت مقصد یک listener باید بسازی با نام چیزی که emit کردی
توی ورژن سه به جای emit از dispatch استفاده میشه و توی کامپوننت مقصد روش جدیدی علاوه بر لیسینر اضاف شده که بهش on میگن
یه سرچ ساده بزنی راحت مثال هاشو میبینی کار سختی نیست
این لینک رو ببین برای ورژن سه
این لینک رو ببین برای ورژن دو

شاید پاسخ شما همین‌جا باشد

حمید محسنی
حمید محسنی
@Hamid258

تخصص: گرافیست

دقیقا درسته ولی چون من دارم از مدال استفاده میکنم دیسپچ رو نمیتونم استفاده کنم چون به صورت خودکار کامپوننت مبدا رو رفرش می‌کنه و مدال به محض باز شدن بسته میشه

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود خوبی...
نمونه ای که نوشتم.
هر بار دیتایی وارد می کنید که خودش بدون رفرش صفحه دیتا رو نمایش میده...
این پروژه ای نوشتم با مدال بوده اما برای ویرایش دیتا نمیشه مدال نوشت چون یه جورایی تداخل ایجاد می کنه...
Create :

protected $listeners = ['dataCreated' => 'saveUser'];

 public function updated($name): void
{
        $this->validateOnly($name);
 }

public function saveUser(): void
{
        $validate = $this->validate();
        $user = User::query()->create($validate);

        $this->resetInput();
        $this->dispatch('userList');
        $this->alert('success', 'با موفقیت کاربر جدید اضافه شد.');
 }

Index :

protected $listeners = ['userList' => 'refreshData'];
public function mount(): void
{
        $this->users = User::all();
 }
    public function refreshData(): void
{
        $this->users = User::all(
 }

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام