/ / Detecta si Functoin de la Fundación se ha ejecutado - zurb-foundation

Detecta si se ha ejecutado la función Foundation - zurb-foundation

Estoy usando el marco de la Fundación Zurb en unaAplicación Angular4. Utilizo diferentes elementos (como menús desplegables, acordeón, etc.) en varios componentes y cada vez que ejecuto la aplicación recibo muchas advertencias, como:

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.

En cada componente que utiliza cualquiera de los elementos de la Fundación que requieren Javscript, ejecuto esto:

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

Intenté ejecutarlo solo una vez en el componente principal de la aplicación, pero todo deja de funcionar.

Me gustaría saber si hay una forma de no mostrar estas advertencias, o hacer que Foundation detecte que ya está cargado.

¡Gracias!

Respuestas

0 para la respuesta № 1

Tenía la respuesta justo ante mis ojos:

Cambio $(document).foundation();

A $("NEW_FOUNDATION_ELEMENT_SELECTOR").foundation(); en cada componente que usa un nuevo control de Fundación.

Entonces, por ejemplo, en el componente angular que usa el acordeón de Foundation el código en ngOnInit es:

ngOnInit() {
[...]

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

Al hacer esto en todos los componentes, las advertencias desaparecieron.