📜  ngx-spinner (1)

📅  最后修改于: 2023-12-03 14:44:36.307000             🧑  作者: Mango

Ngx-Spinner

简介

Ngx-Spinner 是一个 Angular 应用程序的加载指示器,可以在视觉上确保用户知道当前应用程序处于活动状态,并且不会因为等待时间过长而变得沮丧。

ngx-spinner-example

使用
安装

执行以下命令安装 Ngx-Spinner:

npm install ngx-spinner --save
导入

在需要使用 Spinner 模块的地方导入 NgxSpinnerModule

import { NgxSpinnerModule } from 'ngx-spinner';

@NgModule({
  imports: [
    NgxSpinnerModule.forRoot()
  ]
})
使用

在需要使用 Spinner 的组件中调用 NgxSpinnerServiceshowhide 方法:

import { NgxSpinnerService } from 'ngx-spinner';

@Component({
  selector: 'app-my-component',
  template: `
    <button (click)="onClick()">加载数据</button>
  `
})
export class MyComponent {
  constructor(private spinner: NgxSpinnerService) {}

  onClick() {
    this.spinner.show();

    // 执行异步操作
    setTimeout(() => {
      this.spinner.hide();
    }, 2000);
  }
}
样式

Spinner 的样式可以通过在组件 CSS 中添加样式进行自定义。以下是默认样式:

.ngx-spinner {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  text-align: center;
  z-index: 99999;
}

.ngx-spinner > div {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  animation: ngx-spinner-spin 1s infinite ease-in-out;
}

.ngx-spinner-circle {
  position: relative;
}

.ngx-spinner-circle > div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  border-width: 3px;
  border-style: solid;
  opacity: 0.9;
}

.ngx-spinner-primary .ngx-spinner-circle > div {
  border-color: #337ab7 transparent transparent;
}

.ngx-spinner-secondary .ngx-spinner-circle {
  transform: rotate(30deg);
}

.ngx-spinner-secondary .ngx-spinner-circle > div {
  border-color: transparent #337ab7 transparent transparent;
}

@keyframes ngx-spinner-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
结论

Ngx-Spinner 可以轻松集成到 Angular 应用程序中,为用户提供良好的用户体验,避免无聊等待时间的出现。