我正在使用 Angular 2,我想知道是否可以向 toast 消息添加超链接。我在网上四处逛逛,看到了一些可能有用的东西,但我想知道是否有一种明确而简单的方法来实现这一点。谢谢!
编辑:或者,如果有一种方法可以通过单击 toast 消息导航到不同的 url
我正在使用 Angular 2,我想知道是否可以向 toast 消息添加超链接。我在网上四处逛逛,看到了一些可能有用的东西,但我想知道是否有一种明确而简单的方法来实现这一点。谢谢!
编辑:或者,如果有一种方法可以通过单击 toast 消息导航到不同的 url
在 toast 中嵌入任何类型的 HTML 内容有两种不同的方法。
通过从导入BodyOutputTypeangular2-toaster
,您可以指定 TrustedHtml 或 Component。第一个允许您将 html 直接传递到body
toast 的参数中:
import { BodyOutputType } from 'angular2-toaster';
popTrustedHtmlToast() {
var toast: Toast = {
type: 'info',
title: 'Here is a Toast Title',
body: '<a target="_blank" href="https://www.google.com">Here is a Toast Body<a/>',
bodyOutputType: BodyOutputType.TrustedHtml,
showCloseButton: true
};
this.toasterService.pop(toast);
}
第二个允许您传递组件的名称。该组件被动态加载并呈现为吐司主体。
@Component({
selector: 'custom-component',
template: `<a target="_blank" href="https://www.google.com">Here is a Toast Body</a>`
})
export class CustomComponent { }
@NgModule({
bootstrap: [CustomComponent],
declarations: [CustomComponent]
})
export class CustomComponentModule { }
popComponentToast() {
var toast: Toast = {
type: 'info',
title: 'Here is a Toast Title',
body: CustomComponent,
bodyOutputType: BodyOutputType.Component,
showCloseButton: true
};
this.toasterService.pop(toast);
}
您可以在这个plunker中看到这两种方法。