为了账号安全,请及时绑定邮箱和手机立即绑定

在角度应用程序中全局使用ngx-toastr

在角度应用程序中全局使用ngx-toastr

万千封印 2021-04-04 16:13:20
我在Angular 7应用中使用以下Toastr实现:https ://www.npmjs.com/package/ngx-toastr我试图弄清楚如何使所有吐司附加到正文或其他将在我的根应用程序组件中的div元素上(即使在调用它们的组件会出现的情况下,我也希望它们保持显示状态被摧毁)。有什么办法可以存档吗?
查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

正如链接中的自述文件所述,您需要提供自己的ToastrContainer。


import { 

    ToastrModule, 

    ToastContainerModule // Add this one

} from 'ngx-toastr';



@NgModule({

  declarations: [AppComponent],

  imports: [

    //...

    ToastContainerModule // Add this one

  ],

  providers: [],

  bootstrap: [AppComponent]

})

export class AppModule {}

并将div添加到您的根组件(或您希望容器位于的任何位置)中,如下所示:


@Component({

  selector: 'app-root',

  template: `

  <h1><a (click)="onClick()">Click</a></h1>

  <div toastContainer></div> <!-- Add this line here, above should be your router -->

`

})

export class AppComponent implements OnInit {

  // Get a reference to the directive

  @ViewChild(ToastContainerDirective) toastContainer: ToastContainerDirective;


  constructor(private toastrService: ToastrService) {}

  ngOnInit() {

    // Register the container

    this.toastrService.overlayContainer = this.toastContainer;

  }

  onClick() {

    this.toastrService.success('in div');

  }

}


查看完整回答
反对 回复 2021-04-15
?
皈依舞

TA贡献1851条经验 获得超3个赞

在根模块上声明模块(通常是app.module.ts)


import { ToastrModule } from 'ngx-toastr';


@NgModule({

    imports: [ ToastrModule.forRoot({ ...global options... }) ],

    ...

})

可以在任何地方调用Toast(允许您将服务注入到组件中),并且应该在您定义要显示的Tos中显示Toast(并且没有元素覆盖它们)。


查看完整回答
反对 回复 2021-04-15
  • 2 回答
  • 0 关注
  • 241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号