محمود الحبشمتاح لمشاريع جديدة
  • أعماليأعمالي
  • الخدماتالخدمات
  • المختبرالمختبر
  • المقالاتالمقالات
  • تواصلتواصل
عمّان--:--EN
المقالات/لايف واير

تكامل Livewire v4 مع Alpine.js

ادمج Livewire مع Alpine.js لتفاعلية محسنة.

1 فبراير 2026دقيقة قراءةلايف وايرRead in English

في هذه الصفحة

  1. الوصول إلى كائن $wire
  2. Entangle - الربط ثنائي الاتجاه
  3. إرسال الأحداث

يعمل Livewire v4 بسلاسة مع Alpine.js للتفاعل من جانب العميل.

الوصول إلى كائن $wire

blade
<div x-data="{ loading: false }">
    <!-- استدعاء دوال Livewire -->
    <button x-on:click="loading = true; $wire.save().then(() => loading = false)">
        <span x-show="!loading">حفظ</span>
        <span x-show="loading">جاري الحفظ...</span>
    </button>
    
    <!-- الوصول لخصائص Livewire -->
    <span x-text="$wire.username"></span>
    <span x-text="$wire.user.name"></span>
    
    <!-- تعيين الخصائص -->
    <button x-on:click="$wire.set('total', $wire.total + 1)">زيادة</button>
</div>

Entangle - الربط ثنائي الاتجاه

blade
<div x-data="{ 
    open: $wire.entangle('showModal'),
    search: $wire.entangle('searchQuery').live
}">
    <!-- تغييرات Alpine تتزامن مع Livewire -->
    <button x-on:click="open = !open">تبديل النافذة</button>
    
    <!-- معدل .live للمزامنة الفورية -->
    <input x-model="search" placeholder="بحث...">
    
    <div x-show="open" x-transition>
        محتوى النافذة هنا
    </div>
</div>

إرسال الأحداث

blade
<div x-data>
    <!-- إرسال إلى Livewire من Alpine -->
    <button x-on:click="$wire.dispatch('item-selected', { id: 5 })">
        اختر عنصر
    </button>
    
    <!-- الاستماع لأحداث Livewire في Alpine -->
    <div x-on:item-saved.window="alert('تم الحفظ!')"></div>
</div>
كل المقالات

تابع القراءة

  • التفويض في مكونات Livewire v41 فبراير 2026دقيقة قراءة
  • مترجم Blaze المسبق: مكاسب أداء هائلة في Livewire v41 فبراير 2026دقيقة قراءة
  • بناء ميزة الإشارات المرجعية مع Livewire v41 فبراير 2026دقيقة قراءة