Angular 5 的原始烤面包机?

Posted

技术标签:

【中文标题】Angular 5 的原始烤面包机?【英文标题】:Original Toastr with Angular 5? 【发布时间】:2018-05-24 16:51:17 【问题描述】:

我喜欢原始的 toastr b/c 我可以弹出“项目 X 已保存”消息,并且在我重定向回主页后它会在页面上停留 X 毫秒。所以我想在 Angular 5 中使用原始的 toastr 库,但无法弄清楚。是否有博客文章或在线示例可以说明这一点?

注意:我知道有像 angular2-toaster 和其他一些 npm 包,但是当我尝试使用 Angular 5 CLI 安装和运行它们时,会出现许多错误消息,当我查看他们的 Github 页面时,它们非常出色问题,而且似乎 Ag5 有足够多的重大更改,但在没有分析源代码并将其破解(而且我显然不是 npm 专家)的情况下它们还不能正常工作。好像他们使用 Ag4 而不是使用 Ag5?

既然 toastr 是一个标准的 JS 库,为什么我不能在 angluar-cli.json "scripts" 中添加一个指向 min.js 文件的链接,并显示一个标准的弹出窗口,就像 SPA 之前的美好时光一样?今晚我已经下载了很多这样的 npm 库并与之抗争,似乎使用已经存在多年的标准库比应该的要困难得多。

谢谢。

【问题讨论】:

【参考方案1】:

我强烈建议您 Angular Material 这样做。

一旦你安装了它(它适用于 Angular 5,安装过程很容易遵循),你所需要的就是

private constructor(private snacker: MatSnackBar) 
// ...
toast()  this.snacker.open('Text to display', 'Button text',  duration: 2000 ); 

【讨论】:

感谢您的回复。我正在使用 bootstrap 3。两者兼容吗? 是的。您不能将 Angular 材料视为 CSS 库。它更像是一个组件库,它为您提供了许多组件来简化您的工作。【参考方案2】:

对于 toastr,您可以查看此链接并按照将支持 angular 5 的说明进行操作

https://www.primefaces.org/primeng/#/growl

使用 Angular 5,您可以使用外部 CDN 或链接

方法:1 为 toastr 安装 npm 包

npm install --save toastr

在脚本数组中的 .angular-cli.json 文件中从已安装的节点模块导入脚本

 "../node_modules/...../toastr.min.js

并在样式数组中导入您的 CSS 文件

"../node_modules/...../toastr.min.css

如果这不起作用,则在 index.html 文件中包含 CDN

<script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>    
<link href="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" />

在组件中只需声明如下变量,然后从https://github.com/CodeSeven/toastr开始使用您的本地 toastr

declare var toastr;

【讨论】:

【参考方案3】:

ngx-toastr 是最新的、受支持的并且正在积极发布。截至发文时,它每周在 NPM 上的下载量约为 31k,并且由于大约一年前从 ng2-toastr 切换名称,用户切换的速度似乎很慢(ng2-toastr 目前每周下载量约为 8k )。

我昨晚在我的 Angular 6 应用程序中安装了它(我在谷歌搜索同样的需求时遇到了你的问题),我在几分钟内启动并运行了它,没有构建警告或错误,也没有列出新的 npm 审计漏洞,或任何其他问题。按照“设置”下的简要说明,它就可以工作了。

NPM 链接:https://www.npmjs.com/package/ngx-toastr

【讨论】:

以上是关于Angular 5 的原始烤面包机?的主要内容,如果未能解决你的问题,请参考以下文章

如何调整烤面包机的弹出宽度

Angular JS 面包屑

如何自定义 CRUD 响应烤面包机消息 [admin-on-rest]

设置烤面包机不透明度?

text 角形烤面包小吃吧

text 烤面包