راکت

مشکل بروز نشدن متغیر در کامپوننت ها داخلی Livewire

2 پاسخ

سلام ..
یه نگاهی به مثال زیر بندازید:

showPost.blade.php:

<div>
    <livewire:content-box :content="$post"/>

    <button wire:click="nextPost" >Next Post >></button>
</div>

و
content-box.blade.php :

<div>
    <h1>{{ $content->title }}</h1>
    <p>{{ $content->content }}</p>
</div>

تا اینجا کامل مشخصه که قراره چه اتفاقی بیوفته ... : اول اطلاعات مطلب مورد نطر از طریق showPost دریافت و به contentBox پاس داده میشه و همه چیز اوکی..

خب حالا من میخوام از طریق دکمه ای که قرار دادم و صدا زدن متد nextPost اطلاعات مطلب بعدی از طریق الاکونت دریافت بشه :

showPost.php :

class ShowPost extends Component
{
    public Post $post;

    public function render()
    {

        return view('livewire.show-post');
    }
public function nextPost()   
    {
        $id = $this->post->id;
        $nextPost = Post::where('id', '>', $id)->first();
        $this->post = $nextPost;
    }

...

ولی اتفاقی نمی افتد و کامپوننت contentBox هیچ ری اکشنی ندارد .... کسی به این مشکل خورده؟؟؟!

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

ثبت پرسش جدید

پاسخ‌ها

2
mr.dehghani
mr.dehghani
@mrtdeh

ممنون از همه خودم جوابشو پیدا کردم .
یادتون باشه هرجا کامپوننتی رو صدا زدید که نیاز به بروز شدن با رویداد های مختلف داشت ، پراپرتی key رو هم مقدار دهی کنید:


 <livewire:content-box :post="$post" :key="$post->id"/>
محمدسجاد دباغ
محمدسجاد دباغ
@mdabbagh

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

@mrtdeh

سلام منم دقیقا چنین مشکلی دارم و key هم ست کردم اما مشکل برطرف نشد.
لطفا بیشتر راهنمایی کن.
متشکرم

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

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

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