Estoy experimentando con temas de Discourse pero no soy desarrollador web/Javascript. Viendo algunos componentes de temas de terceros, tengo esta pregunta.
En discourse-header-submenus/javascripts/discourse/connectors/above-site-header/header-submenus.js, hay este código:
export default {
setupComponent() {
// algo de código aquí
},
};
No hay importaciones al principio del archivo.
Si entiendo JavaScript (strict) correctamente, el único contexto al que el código dentro de setupComponent() tendrá acceso son los atributos del objeto en el que se evalúa.
Cuando miro este contexto usando console.log(this) dentro de la función setupComponent(), parece que no tengo acceso al muy útil objeto api.
¡Qué lástima!
Además, no sabría cómo importarlo correctamente ya que el código envoltorio oficial para usar funciones de la api está versionado y se ve así:
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer("0.12.3", api => {
// código que usa la api aquí
});
¿Cómo podría acceder al objeto api desde setComponent()? ¿O me estoy perdiendo algo fundamental aquí?