答案 0 :(得分:4)
这意味着您可以直接使用toastr
对象,而无需像下面这样导入import * as toastr from '...';
。
那说为了避免编译错误,你需要包含相应的类型:
/// <reference path="./toaster.d.ts" />
以下是在组件中使用Toastr的方法:
/// <reference path="./toaster.d.ts" />
import {Component} from 'angular2/core';
@Component({
selector: 'my-app',
template: `
<div (click)="displayToastr()">Display Toastr</div>
`
})
export class AppComponent {
constructor() {
toastr.options = { positionClass: 'toast-bottom-right' };
}
displayToastr() {
toastr.info('message');
}
}
这是相应的plunkr:https://plnkr.co/edit/wzdoisKBrZYTeSX8r7Nd?p=preview。
答案 1 :(得分:1)
在您的内部任意文件夹下创建一个Toaster服务 应用程序(最好是常见的)并在其中添加以下代码
import { OpaqueToken } from '@angular/core'
export let Toaster_Token = new OpaqueToken('toastr');
在您的App模块中导入此内容,如下所示
import { Toaster_Token } from './ToasterService';
声明一个变量,该变量具有toastr.js的window.toastr的参考值
declare let toastr : any;
将以下代码添加到提供程序数组
{ provide : Toaster_Token , useValue : toastr }
在您的组件中,从角度/核心导入ToasterService和Inject,如下所示
import { Toaster_Token } from './ToasterService';
import { Inject} from '@angular/core';
您的构造函数将作为
注入此服务constructor(@Inject( Toaster_Token ) private _toasterService : any){
}
使用烤面包机方法
this._toasterService.success('This works');
<强> LIVE DEMO 强>
答案 2 :(得分:1)
如果你使用angular2-toaster(npm install angular2-toaster)
html中的 <button class='btn btn-bar btn-warn' (click)='testToaster()'>testToaster</button>
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { ToasterModule, ToasterService, BodyOutputType } from "angular2-toaster";
@NgModule({
imports: [ BrowserAnimationsModule, ToasterModule],
})
export class Democlass extends BaseComponent implements OnInit {
constructor(...,
private toasterService: ToasterService) {
. . .}
public testToaster() {
this.toasterService.pop("info", "Args Title info", "Args Body <p/> sdf")
.bodyOutputType = BodyOutputType.TrustedHtml;
}
您还可以使用其他Toast属性
let toast = this.toasterService.pop("info", "demo Title info", "demo Body <p/> sdf");
toast.bodyOutputType = BodyOutputType.TrustedHtml;
// these will be used
toast.title = "Actual tite";
toast.body = "new html body <i>italic</i><hr/>notes";
// toast.clickHandler = ...
// toast.type = "error";
// toast.timeout = 20;
// ...
答案 3 :(得分:-1)
您只需添加<script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script>
import {Component} from 'angular2/core';
@Component({
selector: 'my-app',
template: `
<button (click)="displayToastr()">Display Toastr</button>
`
})
export class AppComponent {
displayToastr() {
toastr.info('I am here for few seconds');
}
}