📅  最后修改于: 2023-12-03 14:44:36.307000             🧑  作者: Mango
Ngx-Spinner 是一个 Angular 应用程序的加载指示器,可以在视觉上确保用户知道当前应用程序处于活动状态,并且不会因为等待时间过长而变得沮丧。
执行以下命令安装 Ngx-Spinner:
npm install ngx-spinner --save
在需要使用 Spinner 模块的地方导入 NgxSpinnerModule
:
import { NgxSpinnerModule } from 'ngx-spinner';
@NgModule({
imports: [
NgxSpinnerModule.forRoot()
]
})
在需要使用 Spinner 的组件中调用 NgxSpinnerService
的 show
和 hide
方法:
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 应用程序中,为用户提供良好的用户体验,避免无聊等待时间的出现。