/ / Rileva se è stata eseguita la funzione functoin di Foundation - zurb-foundation

Rileva se la funzione Foundation è stata eseguita - zurb-foundation

Sto usando il framework Zurb Foundation su unApplicazione Angular4. Uso diversi elementi di esso (come menu a discesa, fisarmonica, ecc.) Su diversi componenti e ogni volta che eseguo l'app ottengo molti avvisi, come:

foundation.min.js:3 Tried to initialize responsive-toggle on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize accordion on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize dropdown-menu on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize responsive-toggle on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize sticky on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize accordion on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize dropdown-menu on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize responsive-toggle on an element that already has a Foundation plugin.
foundation.min.js:3 Tried to initialize sticky on an element that already has a Foundation plugin.

Su ciascun componente che utilizza uno degli elementi Foundation che richiedono Javscript, eseguo questo:

ngOnInit() {
// We initalize Foundation framework once the component has loaded
$(document).foundation();
}

Ho provato a eseguirlo solo una volta sul componente principale dell'app, ma tutto smette di funzionare.

Mi piacerebbe sapere se c'è un modo per non mostrare questi avvertimenti, o fare in modo che Foundation rilevi che è già caricato.

Grazie!

risposte:

0 per risposta № 1

Ho avuto la risposta proprio sotto i miei occhi:

Modificare $(document).foundation();

A $("NEW_FOUNDATION_ELEMENT_SELECTOR").foundation(); su ciascun componente che utilizza un nuovo controllo Foundation.

Quindi, ad esempio, nel componente Angolare che utilizza la fisarmonica Foundation il codice in ngOnInit è:

ngOnInit() {
[...]

$(".accordion").foundation();
}

Facendo questo su tutti i componenti, gli avvisi scompaiono.