محمد امین فراتی
1 روز پیش توسط محمد امین فراتی مطرح شد
1 پاسخ

فایل js مجزا در کامپوننت های لایووایر

سلام ممنون میشم یه راه حل مناسب و اصولی برای مشکل پیشنهاد بدید
یا اگه اشتباه متوجه شدم یا روشم اشتباهه لطفا راه نماییم کنید
وقتی یک کامپوننت لایووایری ایجاد میکنم که یک فایل js مجزا داره چطور باید به پروژم اضافش کنم که فقط وقتی اون کامپوننت توی صفحه لود شد، این فایل js هم لود بشه. یعنی نمیخوام توی همه صفحات لود بشه. مثلا یک فیلد دیت پیکر دارم که کد های js رو داخل فایل مجزا گذاشتم و فقط میخوام با وجود این کامپوننت لود بشه. یه راه حلش اینه که میشه مثلا با vite('path/to/file.js')@ رو داخل یک stack@ با استفاده از push@ به لی‌اوت اصلی اضافش کرد یا حتی فقط فایل رو با تگ script و src به کامپوننت اضافه کرد. این کار رو انجام دادم ولی حتما باید یک بار صفحه رو رفرش کرد. مثلا اگر این فیلد داخل یک مُدال باشه یا سایت به صورت spa باشه دیگه کار نمیکنه! (حتما باید صفحه رو رفرش کنی) از روش هایی مثل event listeners (livewire:initialized , livewire:init) یا dispatch و... هم استفاده کردم اما کار نکرد! خیلی دنبال راه حل گشتم و از روش های مختلفی استفاده کردم حتی از هوش مصنوعی هم کمک گرفتم و نتیجه‌ای نداشت.
@hesammousavi


ثبت پرسش جدید
محمد حسینی
تخصص : کمی لاراول ، سئو
@mehdihoseini1362 1 روز پیش آپدیت شد
0

داخل کامپوننت مد نظرتون @script رو هم تست کنید .

@script 

@endscript

یا می تونید داخل متد mount از طریق

$this->js("
alert('test')
")

هم استفاده کنید


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

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