Как импортировать ouibounce в Angular 6

как импортировать пакет ouibounce npm в Angular 6?

репозиторий ouibounce на GitHub

пакет ouibounce npm

Пожалуйста, помогите мне узнать, как импортировать пакет ouibounce npm в angular. Я могу установить его через npm, но не знаю, как его импортировать.

Angular 2+ или AngularJS? у вас есть оба тега

vidalsasoon 30.10.2018 16:59

извините @vidalsasoon Angular 6

Kesara Wimal 30.10.2018 17:10
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
2
146
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я создал полный рабочий пример на GitHub.

Основные моменты для вашего вопроса заключаются в следующем.

В каталоге проекта запустите: npm install --save ouibounce

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

В файле app.component.ts у меня есть:

import { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';

import * as ouibounce from 'ouibounce';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements AfterViewInit {
  title = 'ng-ouibounce';
  @ViewChild('modal') modal: ElementRef;

  ngAfterViewInit() {
    ouibounce(this.modal.nativeElement, { aggressive: true });
  }
}

В app.component.html у меня <div #modal class = "modal">hello world!</div>

Атрибут #modal сопоставляется, когда Angular создает компонент приложения и присваивает его значение свойству modal. Это доступно только в определенный момент жизненного цикла компонента, поэтому я обращаюсь к нему с помощью метода ngAfterViewInit.

Я не совсем понимаю библиотеку ouibounce, но помимо настройки событий прослушивания мыши для оценки того, когда мышь уходит со страницы, она, по-видимому, только изменяет отображение элемента, переданного display: block;. У меня есть несколько стилей в файле styles.css, которые просто присутствуют, так что сразу видно, что библиотека работает, когда вы вытаскиваете пример.

Другие вопросы по теме