如何导入 uibounce 到 Angular 6

how to import ouibounce to Angular 6

如何将 uibounce npm 包导入 Angular 6?

ouibounce GitHub repo

ouibounce npm package

请帮我找出如何将 ouibouncing npm 包导入 angular。我可以通过 npm 安装它,但不知道如何导入它。

我已经在 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>

当 Angular 创建 AppComponent 并将其值分配给 modal 属性 时,#modal 属性匹配。这仅在组件生命周期的某个时刻可用,这就是我在 ngAfterViewInit 方法中访问它的原因。

我不完全理解 ouibounce 库,但是除了设置鼠标侦听事件以评估鼠标何时离开页面之外,它似乎只改变了元素的显示给予 display: block;。我在 styles.css 文件中有许多样式,因此当您下拉示例时,很明显该库正在运行。