Appearance

Angular 的 OverlayScrollbars
这是官方的 OverlayScrollbars Angular 包装器。
安装
sh
npm install overlayscrollbars-ngx对等依赖
Angular 的 OverlayScrollbars 有以下对等依赖:
- 原生 JavaScript 库:overlayscrollbars
npm install overlayscrollbars- Angular 框架: @angular/core 和 @angular/common
npm install @angular/core @angular/common使用方法
第一步是将 CSS 文件导入到你的应用中:
ts
import "overlayscrollbars/overlayscrollbars.css";注意:如果路径
'overlayscrollbars/overlayscrollbars.css'无法使用,请使用'overlayscrollbars/styles/overlayscrollbars.css'作为 CSS 文件的导入路径。
模块可以这样导入:
js
import { NgModule } from "@angular/core";
import { OverlayscrollbarsModule } from "overlayscrollbars-ngx";
@NgModule({
imports: [OverlayscrollbarsModule],
})
export class AppModule {}组件
主要的入口是 OverlayScrollbarsComponent,可以在你的应用中作为组件使用:
js
import { OverlayScrollbarsComponent } from "overlayscrollbars-ngx";该组件可以使用两种不同的选择器:
html
<overlay-scrollbars [defer]="true"> 标签不重要 </overlay-scrollbars>
<section overlay-scrollbars [defer]="true">选择标签</section>属性
该组件接受所有常规元素如 div 和 span 的属性。 此外,它还有自定义的可选属性:
options:接受一个object,表示 OverlayScrollbars 的选项。events:接受一个object,表示 OverlayScrollbars 的事件。defer:接受一个boolean或object。将初始化推迟到浏览器空闲时。
注意:强烈建议尽可能使用
defer选项,将初始化推迟到浏览器的空闲期。
html
<!-- 示例用法 -->
<overlay-scrollbars
[options]="{ scrollbars: { autoHide: 'scroll' } }"
[events]="{ scroll: () => { /* ... */ } }"
[defer]="true"
></overlay-scrollbars>事件
除了 events 属性,OverlayScrollbarsComponent 还会触发“原生” Angular 事件。为了防止与 DOM 事件名称冲突,这些事件有一个 os 前缀。
注意:无论你使用
events属性还是 Angular 事件,或者两者都用,都没有关系。
html
<!-- 示例用法 -->
<div
overlay-scrollbars
(osInitialized)="onInitialized"
(osUpdated)="onUpdated"
(osDestroyed)="onDestroyed"
(osScroll)="onScroll"
></div>所有事件都是类型化的,但你可以在需要时使用 EventListenerArgs 类型作为工具:
ts
import type { EventListenerArgs } from "overlayscrollbars";
// 示例监听器
const onUpdated = ([
instance,
onUpdatedArgs,
]: EventListenerArgs["updated"]) => {};引用
OverlayScrollbarsComponent 的 ref 将为你提供一个对象,通过它你可以访问 OverlayScrollbars 的 instance 和组件的根 element。 引用对象有两个属性:
osInstance:一个返回 OverlayScrollbars 实例的函数。getElement:一个返回根元素的函数。
指令
如果 OverlayScrollbarsComponent 不够用,你还可以使用 OverlayScrollbarsDirective 指令:
js
import { OverlayScrollbarsDirective } from "overlayscrollbars-ngx";html
<!-- 示例用法 -->
<div overlayScrollbars></div>该指令用于高级用法,让你可以控制整个初始化过程。如果你想将其与其他插件集成,这很有用。
注意:该指令不会自行初始化 OverlayScrollbars。你必须调用
initialize函数。
属性
属性是可选的,与 OverlayScrollbarsComponent 类似。
options:接受一个object,表示 OverlayScrollbars 的选项。events:接受一个object,表示 OverlayScrollbars 的事件。defer:接受一个boolean或object。将初始化推迟到浏览器空闲时。
实例
OverlayScrollbarsDirective 暴露了两个函数:
osInitialize接受一个参数,即InitializationTarget。osInstance返回当前的 OverlayScrollbars 实例,如果未初始化则返回null。
许可证
MIT