Angular PrimeNG Ripple组件
Angular PrimeNG是一个开源的前端UI库,它有许多原生的Angular UI组件,可以帮助开发人员建立一个快速和可扩展的Web解决方案。在这篇文章中,我们将看到**Angular PrimeNG Ripple组件。
涟漪组件用于将涟漪效果动画应用到主元素。它需要通过将this.primengConfig.ripple设置为true来为每个组件启用。之后,可以在元素上使用pRipple指令,将波纹效果应用于它们。
Angular PrimeNG Ripple Component Styling Classes:
- p-ripple。该类被应用于主元素。
- p-ink。该类应用于波纹元素,用于改变波纹的颜色。
- p-ink-active。当波纹元素处于动画状态时,该类被应用于波纹元素。
语法:
<div pRipple>....</div>
创建Angular应用程序并安装模块:。
第1步:使用以下命令创建一个Angular应用程序。
ng new appname
第2步:在创建你的项目文件夹即appname后,使用以下命令移动到它。
cd appname
第3步:最后,在你给定的目录中安装PrimeNG。
npm install primeng --save
npm install primeicons --save
项目结构:在完成上述步骤后,项目结构将看起来像这样。
Project Structure
运行以下命令 。
ng serve --open
例子1:在这个例子中,我们使用pRipple指令将波纹效果应用于卡片组件。
<div style="text-align: center">
<h2 style="color: green">GeeksforGeeks</h2>
<h4>Angular PrimeNG Ripple Component</h4>
<div class="cards flex justify-content-center mt-5">
<p-card
header="Card Without Ripple Effect"
[style]="{'width': '350px', 'margin-right': '20px'}">
<p>Ripple Component Demo</p>
</p-card>
<p-card
pRipple
header="Card With Ripple Effect"
[style]="{'width': '300px'}">
<p>Ripple Component Demo</p>
</p-card>
</div>
</div>
import { Component, OnInit } from '@angular/core';
import { PrimeNGConfig } from 'primeng/api';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styles: [
`
.cards{
user-select: none;
}
`
]
})
export class AppComponent implements OnInit{
constructor(private primengConfig: PrimeNGConfig) { }
ngOnInit() {
this.primengConfig.ripple = true;
}
}
import { NgModule } from '@angular/core';
import { BrowserModule }
from '@angular/platform-browser';
import { BrowserAnimationsModule }
from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { CardModule } from 'primeng/card';
import { RippleModule } from 'primeng/ripple';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
CardModule,
RippleModule
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})
export class AppModule { }
.p-card-body{
background-color: green;
padding: 0;
color: white;
}
输出:
例子2:在这个例子中,我们用CSS自定义了波纹效果的颜色。
<div style="text-align: center">
<h2 style="color: green">GeeksforGeeks</h2>
<h4>Angular PrimeNG Ripple Component</h4>
<div class="cards flex align-items-center flex-column mt-8">
<div class="flex justify-content-center">
<p-card
pRipple
class="default"
header="Default Ripple"
[style]="{'width': '200px'}">
<p>Ripple Component Demo</p>
</p-card>
<p-card
pRipple
class="red"
header="Red Ripple"
[style]="{'width': '200px'}">
<p>Ripple Component Demo</p>
</p-card>
</div>
<div class="flex justify-content-center mt-3">
<p-card
pRipple
class="pink"
header="Pink Ripple"
[style]="{'width': '200px'}">
<p>Ripple Component Demo</p>
</p-card>
<p-card
pRipple
class="purple"
header="Purple Ripple"
[style]="{'width': '200px'}">
<p>Ripple Component Demo</p>
</p-card>
</div>
<div class="flex justify-content-center mt-3">
<p-card
pRipple
class="green"
header="Green Ripple"
[style]="{'width': '200px'}">
<p>Ripple Component Demo</p>
</p-card>
<p-card
pRipple
class="yellow"
header="Yellow Ripple"
[style]="{'width': '200px'}">
<p>Ripple Component Demo</p>
</p-card>
</div>
</div>
</div>
import { Component, OnInit } from '@angular/core';
import { PrimeNGConfig } from 'primeng/api';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styles: [
`
.cards{
user-select: none;
}
`
]
})
export class AppComponent implements OnInit{
constructor(private primengConfig: PrimeNGConfig) { }
ngOnInit() {
this.primengConfig.ripple = true;
}
}
import { NgModule } from '@angular/core';
import { BrowserModule }
from '@angular/platform-browser';
import { BrowserAnimationsModule }
from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { CardModule } from 'primeng/card';
import { RippleModule } from 'primeng/ripple';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
CardModule,
RippleModule
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})
export class AppModule { }
.default .p-card-body{
background-color: green;
padding: 0;
color: white;
}
.p-ripple.red .p-ink {
background: rgba(255, 0, 0, .3);
}
.p-ripple.pink .p-ink {
background: rgba(255, 0, 204, 0.3);
}
.p-ripple.purple .p-ink {
background: rgba(153, 0, 255, 0.5);
}
.p-ripple.green .p-ink {
background: rgba(47, 255, 0, 0.3);
}
.p-ripple.yellow .p-ink {
background: rgba(204, 255, 0, 0.3);
}
输出: