راکت
حل شده

نمایش تاریخ در جاوااسکریپت

5 پاسخ

سلام دوستان
من اطلاعاتی مختصری از کاربر رو توسط کد زیر برای نمایش ارسال میکنم :

$user = User::where('id' , $this->selectedItem)->first();

$this->dispatchBrowserEvent('userModal', [
    'name' => $user->name,
    'signup_at' => jdate($user->created_at),
]);

و در فرانت برای نمایش این اطلاعات از جاوااسکریپت استفاده میکنم بصورت زیر :

window.addEventListener('userModal', event => {
    console.log(event.detail);
});

که البته در کد بالا لاگ گرفتم از دیتا.
مشکل اینجاست که مقدار signup_at رو خالی نشون میده و توی کد اولی که قرار دادم اگه دقت کنید توسط پکیج ‍‍‍morilog/jalali تاریخ رو به این صورت jdate($user->created_at) شمسی میکنم. حالا اگه نخوام شمسی کنم و مستقیما مقدار رو ارسال کنم (‍‍$user->created_at) مشکلی نداره و نشون میده
تا بحال به این مشکل برخوردید؟ راه حلی دارید؟

ثبت پرسش جدید

پاسخ‌ها

5
moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

بهترین پاسخ

شما باید به صورت زیر خروجی بگیری.

$this->dispatchBrowserEvent('userModal', [
    'name' => $user->name,
    'signup_at' => jdate($user->created_at)->format('%B'),
]);

شما باید فرمت رو به صورا string بر گردونید.
@awmx

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

سلام
بهتره که به صورت جاوا اسکریپت کد رو به شمسی تبدیل کنید.
@awmx
https://github.com/arashm/JDate

Awmx
Awmx
@awmx

@mohaligateway
تفاوتی نداره باز هم بجای نمایش تاریخ مقدار ‍[object Object] رو نمایش میده و با اینکه اطلاعات رو دریافت کرده...واقعا دیگه نمیدونم چیکارش کنم دو روزه وقتمو گرفته

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

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

با استفاده از json_encode اطلاعات رو می فرستید ؟
https://www.php.net/manual/en/function.json-encode.php
@awmx

Awmx
Awmx
@awmx

@mohaligateway
نه تمام کدهایی که نوشتم فقط همیناست که داخل سوال قرار دادم. میتونه ربطی به livewire باشه؟ چون از اون استفاده میکنم

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

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