美文网首页
NG-ZORRO的NzMessageService + Angu

NG-ZORRO的NzMessageService + Angu

作者: 躺赢lu | 来源:发表于2019-02-13 17:48 被阅读0次

在Angluar项目中,如果有很多的提示信息,又需要做中英切换,可以考虑将提示信息单独封装成服务,在需要的地方调用。下面介绍的封装提示信息方法可以在Angular6 + ngZorro的组合下使用。

1.创建提示信息服务

app文件夹内单独生成一个shared/services/message-tip.service.ts文件,如果你已经有了公共组件文件夹可以在里面直接新建,这样可以方便管理项目代码。

2.初始化message-tip.service.ts

// 引入需要的模块
import { Injectable } from '@angular/core';
import {NzMessageService} from "ng-zorro-antd";
import {TranslateService} from "@ngx-translate/core";

//  注入
@Injectable({
  providedIn: 'root'
})
export class MessageTipService {


//  实例化模块
  constructor(
    private msg: NzMessageService,
    public translate: TranslateService,
  ) { }


//  封装好提示信息函数,当然前提是项目里面已经有了ie8n了,this.translate.instant()函数将自动找到对应映射翻译。
  /* *
  *   type: 提示的类型。 success成功/绿色 info提示/蓝色 warning警告/黄色 error错误/红色 loading转圈
  *   str:  提示的内容,在ie8n里对应映射
  * */
  createTips(type: 'success' | 'info' | 'warning' | 'error' | 'loading' | string, str:string):any{
    return this.msg.create(type, this.translate.instant(str));
  }
}

3.使用封好的提示函数

//  引入服务
import {MessageTipService} from "@shared/services/message-tip.service";

...

//  实例化服务
 constructor(
    ...
    private msg: MessageTipService
  ) {}

...
//  使用服务中的createTips()函数
this.msg.createTips('warning','prompt-tips.strategy.fail-get-msg');

4.提示信息效果
有四种样式的提示信息,在createTips()函数里我们已经封好了,要啥样的就在第一个参数输入想要的类型就行。
比如警告框warning

image.png

相关文章

网友评论

      本文标题:NG-ZORRO的NzMessageService + Angu

      本文链接:https://www.haomeiwen.com/subject/rhwdeqtx.html