Как вызвать метод update() в оболочке Angular 2 Perfect Scrollbar?

Я пытаюсь внедрить Perfect Scrollbar в свое приложение Angular 2 и использовать оболочку Angular 2 Perfect Scrollbar: https://github.com/zefoy/angular2-perfect-scrollbar Если у меня большой контент в момент запуска приложения, моя полоса прокрутки появляется и работает нормально. Но если мой контент растет динамически - полоса прокрутки не появляется. Я думаю, что мне нужно вызвать метод update() объекта полосы прокрутки при добавлении контента. Как я могу вызвать методы Perfect Scrollbar из компонентов Angular 2?


person valer_1    schedule 27.01.2017    source источник


Ответы (1)


Можно сделать это так. Во-первых, вставьте селектор идеальной полосы прокрутки и присвойте ему собственный идентификатор внутри HTML-шаблона:

<perfect-scrollbar #scroll1 class="container">
   <div class="dynamic-content"></div>
</perfect-scrollbar>

Затем в файле typescript обратитесь к этому элементу, используя определенный идентификатор, и назначьте его тип:

@ViewChild('scroll1') scroll1: PerfectScrollbarComponent;

Наконец, вызовите метод update() через свойство directiveRef компонента Perfect Scrollbar внутри любого метода в том же файле:

yourMethod() {
   this.scroll1.directiveRef.update();
}
person indreed    schedule 01.09.2017
comment
Хорошее решение. Работал на меня. - person Manwal; 09.01.2018