我想在我的角度应用程序中使用通知。我把" ng2-toastr":" 1.6.0"在package.json中单击还原包以安装ng2-toastr。之后,我导入了
import { ToastModule } from 'ng2-toastr/ng2-toastr';
@NgModule({
imports: [
UniversalModule, // Must be first import. This automatically imports BrowserModule, HttpModule, and JsonpModule too.
FormsModule,
ToastModule.forRoot()
],
app.module.ts中的
在我的一个ts文件中导入了
import { ToastsManager } from 'ng2-toastr/ng2-toastr';
并在构造函数中添加了
constructor(public toastr: ToastsManager, vcr: ViewContainerRef) {
this.toastr.setRootViewContainerRef(vcr);
}
在我的方法中,我添加了
addDetail() {
this.toastr.success('You are awesome!', 'Success!');
}
我还没看到通知!是什么原因?
答案 0 :(得分:3)
我使用Toaster并且看起来一样,除了在主应用程序组件中使用ViewContainerRef进行此连接。
这是一个github项目,例如:https://github.com/ipassynk/ng2-toastr-example
@Component({
selector: 'xxx-app-root',
template: '<router-outlet></router-outlet>'
})
export class AppComponent {
// http://valor-software.com/ng2-bootstrap/#/modals
private viewContainerRef: ViewContainerRef;
public constructor(public toastr: ToastsManager, viewContainerRef: ViewContainerRef) {
// You need this small hack in order to catch application root view container ref (ng2-bootstrap)
this.viewContainerRef = viewContainerRef;
// Breaking change solution for Angular v2.2.x
// https://github.com/PointInside/ng2-toastr
this.toastr.setRootViewContainerRef(viewContainerRef);
}
}