Функция обратного вызова для нажатия кнопок подкачки Datatable.net - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь подключиться к событию click для случая, когда нажата одна из кнопок подкачки в Datatable, но не уверен, как мне этого добиться в Angular.

Я, если я посмотрю на этот пример, как я, возможно, напишу тот же код на Angular, а в событии click emit событие через свойство @Output, чтобы мой родитель компонент может быть уведомлен о том, что событие пейджинга сработало?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

После того, как я попробовал вышеуказанное решение, оно мне не помогло.

Мне пришлось изменить предоставленную реализацию следующим образом:

drawCallback: () => {
          $(document).on('click', '#datatables_next', () => {
            this.nextClicked.emit("continuation");
          });
          $(document).on('click', '#datatables_previous', () => {
            console.log('next clicked...');
          });
        }

Проблема в том, что с предоставленным решением мои события никогда не запускались. Это связано с тем, что элементы управления разбиением на страницы загружаются динамически, я думаю, и во время моей попытки привязки к этим элементам управления их там не было.

0 голосов
/ 08 ноября 2018

Если вы хотите обработать событие click в компоненте, в котором вы инициализировали объект данных, вам не нужно отправлять событие. Просто используйте код в примере, который вы указали в компоненте, и ваше мероприятие будет работать отлично.

Здесь я создал угловую версию предоставленного вами примера. Нажмите «Далее» на датируемом пагинаторе, и вы увидите запуск события.

Однако, если вы хотите обработать событие в родительском компоненте компонента, в котором вы инициализировали таблицу данных, вам необходимо выполнить команду emit и событие через @Output и обработать его в дочернем компоненте. Или вы можете использовать любой другой метод взаимодействия компонентов, который может соответствовать вашей логике.

Надеюсь, это поможет

...