Angular PrimeNG 延迟事件

Angular PrimeNG 延迟事件

Angular PrimeNG是一个用于Angular应用程序的UI组件库。它为各种任务提供了许多预建的主题和UI组件,如输入、菜单、图表、按钮等。在这篇文章中,我们将讨论Angular PrimeNG Defer Events。

Defer组件用于推迟加载最初在视口之外的内容,当用户滚动页面时,这些内容将被看到。Defer组件只有一个事件,即onLoad。

Angular PrimeNG推迟事件:

  • onLoad:这个事件接受一个回调函数,当推迟的内容被加载时被调用。

语法:

<div pDefer (onLoad)="callback()">
    <ng-template>
        <!-- Content to load on visible -->
    </ng-template>
</div>
HTML

创建Angular应用程序并安装模块:

第1步:使用以下命令创建一个Angular应用程序。

ng new appname
JavaScript

第2步:创建你的项目文件夹即appname后,使用以下命令移动到它。

cd appname
JavaScript

第3步:最后,在你给定的目录中安装PrimeNG。

npm install primeng --save
npm install primeicons --save
JavaScript

项目结构:在完成上述步骤后,项目结构将看起来像这样。

Angular PrimeNG 延迟事件

Project Structure

例子1:在这个例子中,我们在面板组件上使用了pDefer指令,当面板被加载时,我们向屏幕推送了一条祝酒信息。

  • app.component.html:
<h2 style="color: green">GeeksforGeeks</h2>
<h4>Angular PrimeNG Defer Events</h4>
  
<h3 class="filler">Filler Content</h3>
<div pDefer (onLoad)="deferredContentLoaded()">
    <ng-template>
        <p-panel 
            header="Deferred Panel" 
            [style]="{'width': '400px'}">
            <p>
                This panel was not loaded initially. 
                It gets loaded when we scroll down.
            </p>
        </p-panel>
    </ng-template>
</div>
<p-toast></p-toast>
HTML
  • app.component.ts:
import { Component } from '@angular/core';
import { MessageService } from 'primeng/api';
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styles: [
        `
        .filler {
            height: 100vh;
            width: 400px;
            padding-top: 50px;
            text-align:center;
            color: white;
            background: green;
        }
        `
    ],
    providers: [MessageService]
})
export class AppComponent { 
    constructor(private msgService: MessageService){}
    deferredContentLoaded()
    {
        this.msgService.add({
            severity: "success",
            summary: "Deferred Content Loaded",
            detail: "Defer onLoad Event"
        })
    }
}
JavaScript
  • app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { PanelModule } from 'primeng/panel';
import { ToastModule } from 'primeng/toast';
import { DeferModule } from 'primeng/defer';
  
  
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        HttpClientModule,
        PanelModule,
        ToastModule,
        DeferModule
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
})
export class AppModule { }
JavaScript

输出:

Angular PrimeNG 延迟事件

例子2:在这个例子中,我们用一个日历作为延迟内容。当日历被加载时,会显示一条祝酒词。

  • app.component.html:
<h2 style="color: green">GeeksforGeeks</h2>
<h4>Angular PrimeNG Defer Events</h4>
  
<h3 class="filler-content">Filler Content</h3>
<div pDefer (onLoad)="calendarLoaded()">
    <ng-template>
        <p-calendar [inline]="true"></p-calendar>
    </ng-template>
</div>
<p-toast></p-toast>
HTML
  • app.component.ts:
import { Component } from '@angular/core';
import { MessageService } from 'primeng/api';
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styles: [
        `
        .filler-content {
            height: 100vh;
            width: 400px;
            padding-top: 50px;
            text-align:center;
            color: white;
            background: green;
        }
        `
    ],
    providers: [MessageService]
})
export class AppComponent { 
    constructor(private msgService: MessageService){}
    calendarLoaded()
    {
        this.msgService.add({
            severity: "warn",
            summary: "Calendar Loaded",
            detail: "Defer onLoad Event fired"
        })
    }
}
JavaScript
  • app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { CalendarModule } from 'primeng/calendar';
import { ToastModule } from 'primeng/toast';
import { DeferModule } from 'primeng/defer';
  
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        HttpClientModule,
        CalendarModule,
        ToastModule,
        DeferModule
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
})
export class AppModule { }
JavaScript

输出:

Angular PrimeNG 延迟事件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册