اذهب إلى المحتوى

السؤال

نشر

هل هذه هي الطريقة الصحيحة لعمل الحدث في livewire ؟

<!--خطأ هذا الايفينت لا يعمل علي مستوي المشروع ككل -->
<a href="#" style="margin-left:10px;" wire:click.prevent='deleteproduct({{$product->id}})'>
</a>
<!--عند االضغط علي الرابط يتم  الذهاب الي href ولا يتم تنفيذ الحدث -->
                                        

 

Recommended Posts

  • 1
نشر

بشكل عام، الطرق الممكنة التي يمكن بها استدعاء أحداث في ليفواير هي ما كالتالي:

  • من داخل ملف العرض:
    <button wire:click="$emit('yourEventName')">

     

  • من ملف المكون:

    $this->emit('yourEventName');

     

  • من داخل سكربت جافاسكربت:

    <script>
        Livewire.emit('yourEventName')
    </script>

     

بمعنى أن استدعاءك للحدث يجب أن يكون كـ :

<button wire:click="$emit('deleteproduct', {{$product->id}})">

كأشياء جانبية أخرى، تأكد من:

  • أن الحدث deleteproduct موجود بالفعل
  • أن الحدث deleteproduct موجود كتابع للمكون المستهدف
  • 0
نشر
بتاريخ 17 دقائق مضت قال محمود سامي حسين:

جربتة الفكرة في الايفنت(livewire event) نفسه وليس الزر أو الرابط 

تأكد من تطابق اسم التابع deleteproduct ضمن صنف المكون مع ذكره ضمن ملف العرض، 

أيضًا تأكد من كون تابع الحدث public كالتالي:

class MyComponent extends Component {

  public function deleteproduct($product_id) {
  ^^^^^^ ...
  }
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...