• 1404/03/05

عدم اجرای کد های جاوا اسکریپت بعد از Navigate :

با سلام
بعد از Navigate َشدن کد های جاوا اسکریپت اجرا نمی شوند
بطور مثال من در صفحه ی داشبوردم از ChartJS استفاده کردم اما بعد از هدایت کاربر از صفحه ورود به داشبورد چارت ها نمایش داده نمی شوند اما با رفرش صفحه چارت ها اجرا می شوند
لطفا راهنمایی بفرمائید

  • 1404/03/20
  • ساعت 12:05

سلام وقت بخیر

 

در آخرین نسخه Livewire (v3)، روش جدیدتری برای اجرای JavaScript بعد از ناوبری وجود داره.

برای حل مشکل اجرا نشدن ChartJS بعد از navigate شدن، از @js directive یا livewire:navigated event استفاده کنید.

روش پیشنهادی (Livewire v3):

document.addEventListener('livewire:navigated', () => {
    renderMyChart(); // این تابع باید چارت رو بسازه
});

یا اگه فقط تو یه صفحه خاص مثل داشبورد چارت دارید:

<script>
    document.addEventListener('livewire:navigated', () => {
        if (window.location.pathname === '/dashboard') {
            renderMyChart();
        }
    });
</script>

 این روش با SPA بودن Livewire v3 سازگاره و مشکل اجرا نشدن JS بعد از ناوبری رو حل می‌کنه.


logo-enamadlogo-samandehi