/ / Detectar se o functoin Foundation foi executado - zurb-foundation

Detectar se o functoin da Fundação foi executado - zurb-foundation

Eu estou usando o framework Zurb Foundation em umAplicação Angular4. Eu uso elementos diferentes (como menus suspensos, acordeão, etc) em vários componentes e cada vez que executo o aplicativo recebo muitos avisos, 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.

Em cada componente que usa qualquer um dos elementos Foundation que exigem o Javscript, eu corro isto:

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

Eu tentei executá-lo apenas uma vez no componente principal do aplicativo, mas tudo parou de funcionar.

Eu gostaria de saber se há uma maneira de não mostrar esses avisos, ou fazer com que a Foundation detecte que ela já está carregada.

Obrigado!

Respostas:

0 para resposta № 1

Eu tive a resposta bem diante dos meus olhos:

mudança $(document).foundation();

Para $("NEW_FOUNDATION_ELEMENT_SELECTOR").foundation(); em cada componente que usa um novo controle Foundation.

Assim, por exemplo, no componente Angular que usa acordeão de fundação o código em ngOnInit é:

ngOnInit() {
[...]

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

Fazendo isso em todos os componentes, os avisos desaparecem.