Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

442
Vistas
Angular 2 ejecuta el script después de la representación de la plantilla

Así que tengo este componente deslizante que usa materializecss javascript. Entonces, después de renderizar, necesito ejecutar

 $(document).ready(function(){ $('body').on('Slider-Loaded',function(){ console.log('EVENT SLIDER LOADED'); $('.slider').slider({full_width: true}); $('.slider').hover(function () { $(this).slider('pause'); }, function () { $(this).slider('start') }); }); });

Pero no sé muy bien dónde colocar esta línea, ya que la etiqueta de script de eliminación de mecanografiado/angular en las plantillas. Incluí JQuery en los archivos ts y esperaba usar el sistema de eventos, pero parece que no funciona. ¿Algunas ideas? Aquí está el código del archivo ts:

 /// <reference path="../../typings/main.d.ts" /> import {Component, Input} from 'angular2/core'; import { RouterLink } from 'angular2/router'; import {ServerService} from './server'; @Component({ selector: 'slider', templateUrl:'/app/template/slider.html', directives: [ ], }) export class SliderComponent { @Input() images; private server: ServerService; public constructor(server: ServerService){ this.server = server; } ngOnInit() { console.log("THROWING EVENT"); $('body').trigger('Slider-Loaded'); } }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

ngAfterViewInit() de AppComponent es una devolución de llamada de ciclo de vida Angular llama después de que el componente raíz y sus elementos secundarios se hayan procesado y debería ajustarse a su propósito.

Ver también https://angular.io/guide/lifecycle-hooks

over 4 years ago · Santiago Trujillo Denunciar

0

En realidad ngAfterViewInit() se iniciará solo una vez cuando se inicie el componente.

Si realmente desea que se active un evento después de que el elemento HTML se alquile en la pantalla, puede usar ngAfterViewChecked()

over 4 years ago · Santiago Trujillo Denunciar

0

Descubrí que el mejor lugar es NgAfterViewChecked(). Intenté ejecutar un código que se desplazaría a un panel ng-accordion cuando se cargara la página. Intenté poner el código en NgAfterViewInit() pero no funcionó allí (NPE). El problema era que el elemento aún no se había renderizado. Hay un problema al ponerlo en NgAfterViewChecked(). NgAfterViewChecked() se llama varias veces a medida que se procesa la página. Algunas llamadas se realizan antes de que se represente el elemento. Esto significa que es posible que se requiera una verificación de nulo para proteger el código de NPE. Estoy usando Angular 8.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda