Quote Originariamente inviata da fermat Visualizza il messaggio
ok, in sostanza devo trovare come fare per eseguire le operazioni che fa list.js con alpine....
Mmm... non esattamente: Alpine.js ti garantisce che la pagina venga aggiornata a fronte del cambiamento dei dati che scegli come "modello", quello che fornisci con x-data per intenderci.

Questo vuol dire che tu non devi interagire con Alpine, ma semplicemente trovare il modo di ordinare i dati del modello che Alpine legge per visualizzarli nella pagina.

Prova a procedere in questo modo: invece di un solo array items[], usane due, uno che contenga tutti gli elementi, e l'altro array che contenga solo quelli filtrati/ordinati. Poi usa le funzioni di JavaScript degli array per ordinare e filtrare il primo array mettendo nel secondo i valori ottenuti, e infine usa il secondo array per la visualizzazione.

In questo modo vedrai che la pagina funziona.

Qui List.js non ti serve perché l'unico valore aggiunto che ti da è ordinare elementi della pagina generati a partire dai dati, ma tu devi ordinare direttamente i dati. Analogamente, Alpine.js non si interessa dell'ordinamento dei dati: questo lo fai tu con le funzioni di JavaScript, e fornendo questi dati filtrati/ordinati ad Alpine.js la libreria si occupa di aggiornarti la pagina di conseguenza.

Alla fine, questo è il vantaggio di usare Alpine: tu dici (tramite le direttive) quali sono i dati da osservare e come rappresentarli in HTML, poi lavori esclusivamente sui dati, dando per scontato che al loro cambiamento il lavoro di Alpine è quello di farlo vedere nella pagina, senza che debba essere tu manualmente ad andare a manipolare il DOM e il contenuto della pagina stessa per ottenere questo.