将toastr与angular2一起使用

将toastr与angular2一起使用,angular,toastr,Angular,Toastr,我正在使用这个节点包 按照指示,typescript编译器会忘记。 我认为问题与描述的相同,但我找不到解决办法 有什么帮助吗 非常感谢您只需添加 从'angular2/core'导入{Component}; @组成部分({ 选择器:“我的应用程序”, 模板:` 显示Toastr ` }) 导出类AppComponent{ displayToastr(){ toastr.info('我在这里几秒钟'); } } 您只需添加 从'angular2/core'导入{Component}; @组成部

我正在使用这个节点包

按照指示,typescript编译器会忘记。 我认为问题与描述的相同,但我找不到解决办法

有什么帮助吗


非常感谢

您只需添加

从'angular2/core'导入{Component};
@组成部分({
选择器:“我的应用程序”,
模板:`
显示Toastr
`
})
导出类AppComponent{
displayToastr(){
toastr.info('我在这里几秒钟');
}
}

您只需添加

从'angular2/core'导入{Component};
@组成部分({
选择器:“我的应用程序”,
模板:`
显示Toastr
`
})
导出类AppComponent{
displayToastr(){
toastr.info('我在这里几秒钟');
}
}

这意味着您可以直接使用
toastr
对象,而不必像这样导入它:
import*作为来自“…”的toastr

也就是说,为了避免编译错误,您需要包括相应的键入:

/// <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');
  }
}
//
从'angular2/core'导入{Component};
@组成部分({
选择器:“我的应用程序”,
模板:`
显示Toastr
`
})
导出类AppComponent{
构造函数(){
toastr.options={positionClass:'toast bottom right'};
}
displayToastr(){
toastr.info(“消息”);
}
}

这是对应的plunkr:。

这意味着您可以直接使用
toastr
对象,而不必像这样导入它:
import*作为来自“…”的toastr

也就是说,为了避免编译错误,您需要包括相应的键入:

/// <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');
  }
}
//
从'angular2/core'导入{Component};
@组成部分({
选择器:“我的应用程序”,
模板:`
显示Toastr
`
})
导出类AppComponent{
构造函数(){
toastr.options={positionClass:'toast bottom right'};
}
displayToastr(){
toastr.info(“消息”);
}
}
下面是相应的plunkr:

  • 在您电脑中的任何文件夹下创建烤面包机服务 应用程序(最好是通用),并在其中添加以下代码

    import { OpaqueToken } from '@angular/core'
    export let Toaster_Token = new OpaqueToken('toastr');
    
  • 在应用程序模块中导入此项,如下所示

    import { Toaster_Token } from './ToasterService';
    
  • 将引用toastr.js的window.toastr的变量声明为

    declare let toastr : any; 
    
  • 将以下代码添加到提供程序数组中

    { provide : Toaster_Token , useValue : toastr } 
    
  • 在您的组件中,导入ToasterService并从angular/core注入,如下所示

    import { Toaster_Token } from './ToasterService';
    import { Inject} from '@angular/core';
    
  • 您的构造函数作为

    constructor(@Inject( Toaster_Token ) private _toasterService : any){
    
    }
    
  • 如图所示,使用烤面包机方法

    this._toasterService.success('This works');
    
  • 在您电脑中的任何文件夹下创建烤面包机服务 应用程序(最好是通用),并在其中添加以下代码

    import { OpaqueToken } from '@angular/core'
    export let Toaster_Token = new OpaqueToken('toastr');
    
  • 在应用程序模块中导入此项,如下所示

    import { Toaster_Token } from './ToasterService';
    
  • 将引用toastr.js的window.toastr的变量声明为

    declare let toastr : any; 
    
  • 将以下代码添加到提供程序数组中

    { provide : Toaster_Token , useValue : toastr } 
    
  • 在您的组件中,导入ToasterService并从angular/core注入,如下所示

    import { Toaster_Token } from './ToasterService';
    import { Inject} from '@angular/core';
    
  • 您的构造函数作为

    constructor(@Inject( Toaster_Token ) private _toasterService : any){
    
    }
    
  • 如图所示,使用烤面包机方法

    this._toasterService.success('This works');
    

  • 如果您使用angular2烤面包机(npm安装angular2烤面包机)

    在html中
    testToaster
    

    在component.js中
    从“@angular/platform browser/animations”导入{BrowserAnimationsModule}”;
    从“angular2 toaster”导入{ToasterModule,ToasterService,BodyOutputType};
    @NGD模块({
    导入:[浏览动画模块,烤面包机模块],
    })
    导出类Democlass扩展BaseComponent实现OnInit{
    构造函数(。。。,
    私人烤面包机服务:烤面包机服务){
    . . .}
    公共测试烤面包机(){
    this.toasterService.pop(“info”、“Args Title info”、“Args Body

    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;
       // ...
    
    let toast=this.toasterService.pop(“info”、“demo Title info”、“demo Body

    sdf”); toast.bodyOutputType=bodyOutputType.TrustedHtml; //这些将被使用 toast.title=“实际时间”; toast.body=“新的html正文斜体


    注释”; //toast.clickHandler=。。。 //toast.type=“错误”; //toast.timeout=20; // ...
    如果您使用angular2烤面包机(npm安装angular2烤面包机)

    在html中
    testToaster
    

    在component.js中
    从“@angular/platform browser/animations”导入{BrowserAnimationsModule}”;
    从“angular2 toaster”导入{ToasterModule,ToasterService,BodyOutputType};
    @NGD模块({
    导入:[浏览动画模块,烤面包机模块],
    })
    导出类Democlass扩展BaseComponent实现OnInit{
    构造函数(。。。,
    私人烤面包机服务:烤面包机服务){
    . . .}
    公共测试烤面包机(){
    this.toasterService.pop(“info”、“Args Title info”、“Args Body

    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;
       // ...
    
    let toast=this.toasterService.pop(“info”、“demo Title info”、“demo Body

    sdf”); toast.bodyOutputType=bodyOutputType.TrustedHtml; //这些将被使用 toast.title=“实际时间”; toast.body=“新的html正文斜体


    注释”; //toast.clickHandler=。。。 //toast.type=“错误”; //toast.timeout=20; // ...
    我可以在plunker中向您展示Without节点吗?另一种方法是使用本机Angular2烤面包机端口,比如@DavidL提到的这个端口,它工作起来就像一个符咒。我可以在plunker中向您展示Without节点吗?另一种方法是使用本机Angular2烤面包机端口,比如我目前正在使用的这个端口@DavidL提到过,它就像一个符咒。如果它对你有帮助,那就好了。如果它对你有帮助,那就好了。谢谢,但是这样我怎么配置op呢