حمید محسنی
8 ماه پیش توسط حمید محسنی مطرح شد
4 پاسخ

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

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


ثبت پرسش جدید
حمید محسنی
تخصص : گرافیست
@Hamid258 8 ماه پیش مطرح شد
0

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


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 8 ماه پیش مطرح شد
0

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


حمید محسنی
تخصص : گرافیست
@Hamid258 8 ماه پیش مطرح شد
0

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 8 ماه پیش آپدیت شد
0

درود خوبی...
نمونه ای که نوشتم.
هر بار دیتایی وارد می کنید که خودش بدون رفرش صفحه دیتا رو نمایش میده...
این پروژه ای نوشتم با مدال بوده اما برای ویرایش دیتا نمیشه مدال نوشت چون یه جورایی تداخل ایجاد می کنه...
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(
 }

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

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