没有烤箱容器已初始化以接收烤面包

时间:2017-01-17 08:26:31

标签: angular angular2-toaster

我在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 错误。

2 个答案:

答案 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组件,因此请按照我的步骤进行操作