راکت
حل شده

تغییر کردن عدد بدون رفرش در livewire

9 پاسخ

سلام خسته نباشید
من دوره livewire خریدم ولی هنوز نگاه نکردم میخواستم یه راهنمایی بگیرم از شما این هست که کدوم قسمت از دوره میاد و مثلا یک عدد رو بدون این که رفرش بشه تغییر کنه من میخوام توی لاراول این کارو کنم که یک عدد بدون رفرش تغییر کنه به نظرتون کدوم قسمت رو باید ببینم ممنون
@hesammousavi

ثبت پرسش جدید

پاسخ‌ها

9
میثم فلاح
میثم فلاح
@meysamfallah

تخصص: برنامه نویس

بهترین پاسخ

سلام
بهتره دوره رو از ابتدا نگاه کنید.
اما اگر فکر می کنید متوجه می شید که چجوری پیاده سازی میشه همین کد که تو مستندات هست کارتون رو راه میندازه:

class Counter extends Component
{
    public $count = 0;

    public function increment()
    {
        $this->count++;
    }

    public function render()
    {
        return view('livewire.counter');
    }
}

برای سمت کاربر هم:

<div style="text-align: center">
    <button wire:click="increment">+</button>
    <h1>{{ $count }}</h1>
</div>

حالا هرجوری دوست دارید دیتا رو دریافت کنید و کدتون رو به جای کانکتر و ایونت کلیک جور دیگه پیاده سازی کنید.

Hamidev
Hamidev
@hamiidev

تخصص: backend Developer | laravel | php

@meysamfallah الان من به جای $count چیزی دیگه قرار بدم درست میشه و بدون رفرش میشه؟

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

تغییر متغییر $count در blade کافی نیست باید در کنترلر هم تغییرش بدی!

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

بورژاک یحیی
بورژاک یحیی
@burjak

تخصص: developer

برای اعداد فارسی اگر رفرش نکنیم و از لایو وایر استفاده کنیم اعداد انگلیسی می گردند.مگر اینکه صفحه را رفرش کنیم تا دوباره اعداد فارسی شوند.لازم به ذکر است که اعداد با jquery فارسی شده اند.چاره چیست؟

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

@burjak
سلام
فونت فارسی استفاده کن
سمت سرور و با livewire اعداد رو تبدیل کن به کد فارسی چون هی livewire خودشو رفرش میکنه و انگلیسیش رو قرار میده به جاش و jquery بی استفاده میشه
یا اگر اگر اگر جوری هست که مشکلی داری به هر دلیلی و نمیتونی سمت لایو وایر این کار رو بکنی فرضا در حالات مختلف و مشکل دیگه
میتونی از event های خود لایو وایر سرچ کنی و اونی که بعد از رندر بهت اطلاع میده بیایی اون تابع jquery رو فراخوانی کنی
اگر اشتباه نکنم کد زیر میتونه بهت کمک کنه

    document.addEventListener("livewire:load", () => {
        Livewire.hook('message.processed', (message, component) => {
            $('.select2').select2();
            $('.modal').modal({backdrop:'static', keyboard:false})
            $('.price').mask('000,000,000,000,000', {reverse: true});
        });
    });

(لطفا برای پرسش های خیلی قدیمی و حل شده کامنت نزارید چون موضوع حل شده و قدیمی پرسشتون دیده نمیشه)

بورژاک یحیی
بورژاک یحیی
@burjak

تخصص: developer

خیلی ممنون.میشه من را ارجاع بدید به همون جایی که می گید درباره موضوع صحبت شده و حل شده.

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

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

بورژاک یحیی
بورژاک یحیی
@burjak

تخصص: developer

ممنون داداش. فهمیدم راه حلشو. اون کد تو دو خط اولش را برداشتم و توی main.js کل محتوا ی کدهای جاوا اسکریپتی را قرار دادم.مشکل حل شد.

بورژاک یحیی
بورژاک یحیی
@burjak

تخصص: developer

اجرای همواره کدهای main.js اعم از اجرای همیشکی فارسی سازی اعداد و فرمت اعداد در:

livewire2:
document.addEventListener("livewire:load", () => {
Livewire.hook('message.processed', (message, component) => {
درج کدها
});
});
livewire3:
document.addEventListener("livewire:init", () => {
Livewire.hook('morph.added', ({ el }) => {
درج کدها
});
});

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

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