我在angular2应用程序中使用angular2烤面包机。在应用程序启动时,我遇到错误。
我的app_module如下:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { HttpModule } from '@angular/http';
import { ReactiveFormsModule } from '@angular/forms';
import { ToasterModule, ToasterService} from 'angular2-toaster';
import { AppComponent } from './app.component';
@NgModule({
imports: [
BrowserModule,
FormsModule,
AppRoutingModule,
HttpModule,
ToasterModule
],
declarations: [AppComponent, HomeComponent,
CategoryListComponent, ConsultSotiComponent,
HeaderComponent, FooterComponent],
providers: [CategoryListService, LeadService,
LookUpDetailsService, CompanyService, ConsultSotiService, ToasterService],
bootstrap: [AppComponent]
})
export class AppModule { }
我也引导了这个模块。
我的app.component如下:
import { Component } from '@angular/core';
import { OnInit } from '@angular/core';
import { TranslateService } from './translate/translate.service';
import { ToasterService} from 'angular2-toaster';
@Component({
selector: 'mp-app',
providers: [ToasterService],
template: `<div>
<toaster-container [toasterconfig]="config1"></toaster-container>
<button (click)="popToast()">pop toast</button><br/>
</div>`
})
export class AppComponent implements OnInit {
title = 'Enterprise MarketPlace';
public translatedText: string;
public supportedLanguages: any[];
constructor(private _translate: TranslateService, private toasterService: ToasterService) {
this.popToast();
}
popToast() {
this.toasterService.pop('success', 'Args Title', 'Args Body');
}
这会导致No Toaster Containers have been initialized to receive toasts
错误。
答案 0 :(得分:9)
我遇到了类似的问题。我刚刚没有在模板中添加烤箱容器。 检查您是否在模板中正确添加了烤面包机组件。
<toaster-container [toasterconfig]="toasterconfig"></toaster-container>
更新Angular5-Toaster 5.0.0
现在有一个5.0.0版本,它可以在根目录外部包含多士炉容器,以及多个容器,同时保证ToasterService的单例。这会纠正行为
答案 1 :(得分:-1)
我遇到了同样的错误,我解决了这个问题:首先在一个单独的TS中创建组件:
import {NgModule, Component} from '@angular/core';
import {ToasterModule, ToasterService} from 'angular2-toaster';
//import {Root} from './root.component'
@NgModule({
imports: [ToasterModule],
declarations: [toastComponent],
providers: [],
bootstrap: [toastComponent]
})
@Component({
selector: 'root',
template: `
<toaster-container></toaster-container>
<button (click)="popToast()">pop toast</button>`
})
export class toastComponent {
private toasterService: ToasterService;
constructor(toasterService: ToasterService) {
this.toasterService = toasterService;
}
popToast() {
this.toasterService.pop('success', 'Args Title', 'Args Body');
}
}
之后,导入.module,声明部分 toastComponent ,这就是所有,你可以在HTML中添加标签,记住这是选择器toastrcomponent ....你有一个错误,因为您尚未初始化toastr组件,因此请按照我的步骤进行操作