自分のアプリケーションでグローバルトーストサービスをしたいと思っています。私はng2-toastrを使用しています。 例えばiがビューにおいて成分Aを有する私はボタンがあります。私のToastrServiceでトーストメッセージのサービスからコンポーネントを初期化する方法
showSucess() {
this.toastrService.showSuccess({
enableHTML: true,
toastLife: 3000,
});
}
私はshowSuccess機能を有している:
import { Injectable } from '@angular/core';
import { ToastsManager } from 'ng2-toastr/ng2-toastr';
@Injectable()
export class ToastrService {
constructor(public toastr: ToastsManager) {}
showSucess() {
this.toastr.custom('<span style="color: #bd362f">This message should be in red with blank background. Click to dismiss.</span>',
'Custom Message', {dismiss: 'click'});
}
}
コントローラで
<button (click)="showSuccess()">Click</button>
を私はshowSuccess機能を有しています
this.toastr.custom - 私は自分のトーストテンプレートを設定しています。 サービスからこのテンプレートを削除したいので、このテンプレートを使用してコンポーネントを実行します。
この文字列をHTMLで置き換えるにはどうすればよいですか?私は、コンポーネントのinnerHTML、またはこのようなものでこの文字列を置き換えたいです。私は私の質問の上からコンポーネントからトーストのオプションでこのコンポーネントの共有をしたい。
AngularJsで私はファイルからHTMLを取得するために$ templateCacheを使用しましたが、angular2では+このようなものは見つかりませんでした。
はい、この関数では文字列しか使用できませんでした。 Angular4では、サービスのElementRef、コンポーネントへのアクセス、サービスからのinitコンポーネントのようなものでしょうか? –
多分DynamicComponentLoaderと:https://angular.io/guide/dynamic-component-loaderしかし、私はなぜこれを使用するのかわかりません(あまりにも多くの開発は 'only'のためにhtmlマークアップを取得してconfig /メッセージファイル) –