现象
最近的一个项目使用了ABP框架(ASP.NET Core+Angular),开发中想要修改通知提示的弹窗默认位置(默认位置是左下角,想要修改到中间上方),代码如下,但发现修改无效。
abp.notify.success("创建成功","",{ positionClass: "toast-top-center" });
原因
经过查看相关部分的内部代码发现,问题的根本原因,是因为ABP新旧版本的差别导致的。ABP框架(ASP.NET Core+Angular)中,前端的通知提示用到了一个封装的模块notify
。在低版本中,这个模块内部依赖toastr
组件,这一点在介绍ABP框架的博客文章中都有说明。而上述不起效的代码,就是按照这个旧版本来的。而当前的项目,用的是新版ABP框架,内部代码已经有所改变。
同时,这些文章还提到一个Message
模块,也是用来弹窗提示的。不过与Notify不同的是,Message
一般为模态弹窗,Notify
一般为非模态。而Message
模块中,用到的是sweetalert
组件。