امید نامی
2 سال پیش توسط امید نامی مطرح شد
1 پاسخ

چطور یک کامپوننت لایووایر را توسط جاوا اسکریپت در یک عنصر اجرا کنم

سلام دوستان
با کد توضیح میدم که واضح باشه

<div id="slider">
            <livewire:slide/>
        </div>

دستور بالا کامپوننت اسلایدرو اجرا میکنه ولی من نمیخوام اینطوری اجرا بشه میخوام به صورت کاملا پویا با جاوا اسکریپت بنویسم هرجا صفحه با id slide بود داخلش کامپوننتمو اجرا کن.
یه صفحه ساز درگ دراپ نوشتم که همه چی خوبه بجز چینش اجزا تو ویو.
مثلا اگرم بشه دستورات لایو وایرو تو دیتابیس ذخیره کردو اجراش کرد اکیه ولی متاسفانه امکان این کار وجود نداره. به این نتیجه رسیدم که با جاوا اسکریپت این کارو بکنم


ثبت پرسش جدید
امید نامی
@omid.nami.110 2 سال پیش آپدیت شد
0

کسی که پاسخ نداد. من خودم تا حدودی اینو حلش کردم گفتم دوستانی که به اینجور مشکلی میخورن شاید کمک کنه
اول اینکه تو صفحه سازم برای پلاگین هام که همون کامپوننت های لایو وایره شورت کد تعریف کردم. مثل [slider]
بعد اومدم تو کلاس صفحه ام شورت کدومو توسط تابع strrplace جایگزین کردم با کامپوننتی که میخواد اجرا بشه.
لازمه بدونید این کار هیچ جای وب چه سایت های خارجی و چه ایرانی در موردش بحث نشده. انگار فقط من دارم این کارو میکنم.
این روشی بود که به ذهن من رسید. دوستان روش بهتری دارن لطفا توضیح بدن.

$html = str_replace('[slider]',$slider->render(),$this->page->html);
        return view($this->mainClass->temName.'.plugins.page',[
            'html' => $html
        ]);

البته اینم بکم چون رندرو فراخوانی کردم مستقیم دیگه تابه های دیگه مونت توی کامپوننت قابل اجرا نیست. برای همین من توی کامپوننت لایو وایرم از کانسترکت استفاده کردم که بتونم یه سریع دیتا از کلاس صفحم ارسال کنم.


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

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