如何创建一个SnackBar服务

如何创建一个SnackBar服务

MatSnackBar是一个angular指令,用于在移动设备上专门显示一个通知栏。
这些类型的UI组件一般会被多次使用。
所以为了避免代码的重复,可以简单地创建一个服务,在不同的组件中使用SnackBar。

步骤:

  • 要创建一个服务,你必须使用以下命令。
ng g s snackBar
  • 现在从@angular/core中导入MatSnackBar,并定义函数openSnackBar(你可以随时使用不同的名字)。
import { Injectable } from '@angular/core';
import {MatSnackBar} from '@angular/material/snack-bar';
  
@Injectable({
  providedIn: 'root'
})
export class SnackBarService {
  
//create an instance of MatSnackBar
  
  constructor(private snackBar:MatSnackBar) { }
  
/* It takes three parameters 
    1.the message string 
    2.the action 
    3.the duration, alignment, etc. */
  
  openSnackBar(message: string, action: string) {
    this.snackBar.open(message, action, {
       duration: 2000,
    });
  }
}
  • 导入snackBarService并将其注入你想使用Snackbar的组件的构造函数中。这将创建一个名为snackBService的服务实例。
    现在在需要的地方调用openSnackBar函数,借助snackBService。
import { Component, OnInit } from '@angular/core';
import {SnackBarService} from '../snack.service';
  
  
@Component({
  selector: 'app-profile',
  templateUrl: './snackBar.html',
  styleUrls: ['./snackBar.css']
})
export class SnackBar {
  
  // create an instance of SnackBarService 
  
  constructor(private snackBService:SnackBarService) { }
  
  //defining method for display of SnackBar
  
  trigger(message:string, action:string)
  {
   this.snackBService.openSnackBar(message, action);
  }
  
}
  • 通过重复这些步骤,我们可以在任何组件内使用snackBar。
    示例:
<button  (click)="trigger('This is a ', 'SnackBar')">
    SnackBarButton
</button>

输出:
如何创建一个SnackBar服务?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程