Подтвердить что ты не робот

Angular 2 выполнить script после создания шаблона

Итак, у меня есть этот компонент слайдера, который использует manizecss javascript. Поэтому после его рендеринга мне нужно выполнить

$(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')
        });
    });
});

Но я не совсем знаю, куда поместить эту строку с typescript/angular удалить тег script в шаблонах. Я включил JQuery в ts файлы и надеялся использовать систему событий, но это, похоже, не работает. Есть идеи? Здесь код файла 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');
    }
}
4b9b3361

Ответ 1

ngAfterViewInit() of AppComponent - это обратный вызов Angular обратного вызова жизненного цикла после корневого компонента, и он был отображен, и он должен соответствовать вашей цели.

См. также https://angular.io/guide/lifecycle-hooks