Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

178
Visualizações
Acceso a la función de inicialización del archivo JS externo dentro del componente Angular

Estoy tratando de agregar un archivo javascript de un tercero a mi aplicación para mostrar algunas imágenes en la pantalla. Tengo un código de prueba que funciona como un archivo javascript independiente, sin embargo, migrar esto a mi aplicación angular ha sido un dolor de cabeza. Según tengo entendido, el script externo se carga y luego necesito llamar a la función de inicialización, que es una función de nivel global en el archivo externo embed.js .

JS de muestra (en funcionamiento), donde "myTestServer" es la ubicación donde se encuentra este código de terceros:

 <script data-name="embed-manager" src="myTestServer/embed/embed.js"></script> function EmbedDashboard( dashboardid ) { const embedManagerPromise = window.initEmbedManager({ initialToken: access_token }); embedManagerPromise.then((embedManager) => { componentConfig.dashboardId = dashboardid; embedManager.createComponent( 'dashboard', componentConfig ) .then(dashboard => dashboard.render( document.getElementById( "embedDash" ), { width: '100%', height: '100%' } )) }); }

Usando esto como punto de partida, agregué la ubicación del script embed.js en mi archivo angular.json . Luego en mi componente tengo:

 declare const window: any @Component({ selector: 'app-reports-analytics', templateUrl: './reports.component.html', styleUrls: ['./reports.component.css'] }) export class ReportsComponent implements OnInit { embedManagerPromise: any; componentConfig = { "dashboardId": "123456789", "theme":"modern", "interactivityProfileName":"interactive" }, "editor": { "placement": "dockRight" }, "header": { "showTitle": false, } } constructor( ) { } embedDashboard(id) { this.componentConfig.dashboardId = id; this.embedManagerPromise = window.initEmbedManager({ initialToken: '123456789123456789' }); } }

Lo que arroja un error al intentar ejecutar el código después de que un botón haga clic en embedDashboard(id)

 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'src') at V (embed.js:1) at ReportsComponent.push../src/app/components/company/reporting/reports.component.ts.ReportsComponent.embedDashboard (reports.component.ts:212)
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda