2017-08-15 16 views
0

ページが読み込まれたときに、トースターを使用しようとしています。 例:2ページの顧客追加と顧客リストがあります。私の要件は、新規顧客を追加するときに顧客リストページのトースターを表示することです。ここでコンストラクタを呼び出すとトースターが表示されません

は私のコードです:顧客リストページでバックsaveCustomerコールのコード

this.$state.go('app.Customers', { Msg: d.Message }); 

コード: HTML:

<toaster-container toaster-options="{'position-class': 'toast-top-right', 'close-button':true}"></toaster-container> 

JS:

static $inject=['toaster'] 
    constructor(private toaster: any){ 
    if (this.$stateParams.Msg !== null) 
       this.msgToClient = this.$stateParams.Msg; 
this.toaster.pop('success', 'Success', this.msgToClient); 
} 

私はないです顧客リストページでこのメッセージが表示されます。 しかし、私は(クリック)のようなイベントでトースターメッセージを見ることができます。私は多くの方法を試みたが運がなかった。

+0

は、コンソールにエラー(開発ツール)を参照してくださいか、それに答えるのに十分な情報がありません。 –

+0

角度のバージョン? – alphapilgrim

+0

私はangularjs 1.5.0とangularJsトースターバージョン:1.2.0を使用しています。私はコンソール上でエラーが表示されていません。それは単に表示されていません。 – Venkat

答えて

1

私は既にこの問題に遭遇しています。私はそれはエレガントではありません知っているが、私はそれをこのように解決:

setTimeout(function(){ 
    toaster.pop('success', 'Success', 'Page Load'); 
    $scope.$apply(); 
}, 100); 

https://plnkr.co/edit/8P8E7NPeYa0wP2fGXleF?p=preview

+1

これは私のために働いた、私も$ timeOutを使って同じことをするとわかった。 – Venkat

+0

ああ、$ timeoutを使う方が良い –

関連する問題