سلام خدمت اساتید عزیز
دوستان من میخوام در پروژم از Defer Loading برای لود کردن ویجت های داشبورد کاربری استفاده کنم.
اما وقتی از این روش استفاده میکنم چارت ها لود نمیشن چون فایل های جاوا اسکریپت مربوط به چارت ها لود نمیشن، در حالیکه اصلا این فایل ها درون شرط قرار نگرفتن و از همون اول لود میشن تو صفحه!!! ولی ویجت ها از کار می افتن...
ممنون میشم دوستان با تجربه راهنمایی کنن
کد ها به این صورت هست :
کامپوننت Dashboard:
public $contentLoad = false;
public function loadWidgets()
{
$this->contentLoad = true;
}
public function render()
{
return view('pages.user-dashboard.dashboard');
}
بلید Dashboard:
<div wire:init="loadWidgets">
@if($contentLoad)
<div class="row"></div>
<div class="row"></div>
<div class="row"></div>
@else
Loading...
@endif
@push('scripts')
<script src="{{ asset('/assets/core/js/widgets.bundle.js') }}"></script>
<script src="{{ asset('/assets/core/js/custom/widgets.js') }}"></script>
@endpush
</div>
این موضوع تو لایووایر یه چالشه
یعنی با rerender شدن template جاوااسکریپت به جالش میخوره
چیکار باید کنی ؟ باید چک کنی هر زمان content دوباره لود شد (با هوک های مربوط به جاوااسکریپت livewire ) بیای مجددا chart loadded رو call کنی
این موضوع تو لایووایر یه چالشه
یعنی با rerender شدن template جاوااسکریپت به جالش میخوره
چیکار باید کنی ؟ باید چک کنی هر زمان content دوباره لود شد (با هوک های مربوط به جاوااسکریپت livewire ) بیای مجددا chart loadded رو call کنی
@hesammousavi
ممنون مهندس، اینم از شانس ماست مشکلاتمون همه ریشه ای هستن. 😄
روشی که گفتی رو امتحان میکنم، تشکر 🤝
@hesammousavi
مهندس این روش هم تست کردم منتها بازهم در صفحات دیگه مشکل داره!
اگر امکانش هست روش خودت رو اینجا قرار بده چون تو نت چیز بدردبخوری نبود، ممکنه بقیه دوستان هم این مشکل رو داشته باشن.
ممنون از لطفت
@hesammousavi
اقای موسوی امکانش هست یک نمونه یا سمپل بذارید از کد که چطور با هوک های مربوط به جاوااسکریپت livewire میشه اینکار رو انجام داد؟ الان یک هفته س بخاطر این باگ پروژه رو متوقف کردم !
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟