Таким способом вы можете прочитать текущее смещение прокрутки окна. В моем примере я просто установил логическое значение после прокрутки не менее 150 пикселей.
ngAfterViewInit(): void {
const scroll$ = fromEvent(window, 'scroll').pipe(
throttleTime(10),
map(() => window.pageYOffset),
);
scroll$.subscribe((value) => this.contentScrolled = (value > 150));
}
Вы можете подписаться на это оконное событие в своей директиве.
insertRow
было бы намного лучше. Он поддерживается браузерами класса A, менее подробный и более чистый API.
insertRow
, которое можно было бы назвать более надежным, поскольку это DOM [1].
Метод appendChild
постоянно быстрее (хотя и незначительно) во всех протестированных браузерах (IE6 / 7, FF3, Chrome2, Opera9) при работе вне DOM, но при попытке для изменения таблиц в документе (более распространенная попытка) это значительно медленнее .
Другими словами: определенно используйте insertRow
.
Эти тесты были выполнены локально, поэтому не могут будьте надежны, см. источник здесь: http://pastie.org/482023
Если вы все же используете методы dom, tr следует добавлять к элементу tbody, thead или tfoot, а не к элементу таблицы.