10. Componentes de anidamiento

Aquí, aprenderás a crear componentes de Livewire anidados y cómo usarlos para construir aplicaciones web complejas.


4 comentarios

Inicia sesión para comentar

Comentarios:

  • Juan Carlos Segura Torres

    Juan Carlos Segura Torres hace 1 año

    Hola :D! me encanta el curso y como explica el instructor.

    Tengo un problemilla que cada que emito para que se actualize el componente show-post ocurre lo de la imagen alguien me podria ayudar a solucionarlo, por favor jeje no se a que se deba el bug.

  • Juan Sebastián Joya Rodríguez

    Juan Sebastián Joya Rodríguez hace 1 año

    Hola, yo queria complementar que en el emit al alrt no solo envio el mensaje, sino envio un arreglo que indica varias el status, el titulo y el mensaje, de la siguiente manera: 

    $this->emit('alert', ['status'=>'success','title'=>$this->moduleTitle, 'message'=>'El post se modificó correctamente']);

     

    Así en el App. blade, con un mismo codigo muestor mensajes positivos, mesajes de alerta y mensajes negativos:

    @livewireScripts

    <script>

      Livewire.on('alert', (message) => {


     

      Swal.fire(

          message.title ?? 'Buen trabajo!',

          message.message,

           message.status ?? 'success'

       )

      })

    </script>

     

     

  • Daniel Torres

    Daniel Torres hace 2 años

    Hola profesor. 
    Tengo una pregunta. El Laravel con componentes Livewire va muy lento. Demora entre 2 a 3 segundos en abrir la ventana modal. ¿Es normal de los componente Livewire? Yo veo que en el tutorial va rápido. Estoy trabajando localmente.
    Muchas gracias.

    • Victor Arana Flores hace 2 años

      Hola Daniel, al ejecutarse de manera local, si tu computadora no tiene buenos recursos es la razón por la que puede estar yendo lento.

      No obstante, comentarte que de todas maneras Livewire es un poco lento, ya que se ejecuta del lado del servidor. Yo te recomendaría que uses el stack completo: Tailwind, Alpine, Laravel y Livewire.

      Alpine lo utilices para aquellas interacciones que no necesites una comunicación con el servidor, como por ejemplo abrir un modal, hacer un contador, abrir un dropdown, etc. Y utilices Livewire para toda acción que necesites comunicarte con el servidor, como sería por ejemplo cumunicarte con la bbdd.

      Esta web por ejemplo sigue ese stack. Toda interacción que no necesite comunicación con el servidor lo hago con Alpine, y toda interacción que necesita comunicación con el servidor lo hago con Livewire.

      Aparte que Livewire y Alpine se combinan de maravilla.

      En mi canal tengo un curso de Alpine por si es que quieres revisarlo.

  • Eduardo Sarmiento

    Eduardo Sarmiento hace 2 años

    Hola podrias ayudarme ! 
    Estoy teniendo 2 problemas al reutilizar el modal.

    1) Me funciona el modal con el metodo store/crear pero cuando quiero abrir el modal para hacer update de un post me tira el error "Call to a member function temporaryUrl() on string"

    Esta es la lógica que tengo. Cuando el model imagen esta cargado muestra la url temporal, si no esta cargado muestra la imagen que ya tenia el post.

    @if ($imagen)

    <img src="{{ $imagen->temporaryUrl() }}" alt="">

    @else

    <img src="{{Storage::url($imagen)}}" alt="">

    @endif

     

    Gracias

     

    • Daniel Torres hace 2 años

      Hola que tal. ¿Tienes importado en la clase del componente? 
      use Livewire\WithFileUploads;

    • Juan Sebastián Joya Rodríguez hace 1 año

      Hola, en el else debes colocar <img src="{{Storage::url($post→imagen)}}" alt=""> asi mismo, recuerda que no solo debes importar el use Livewire\WithFileUploads; antes de la clase, sino dentro de la clase colocar use WithFileUploads;