2017-09-26 2 views
2

私はVue2にグローバルイベントバスを持っています。イベントは子コンポーネントによってキャッチされ、ブートストラップポップアップモーダルダイアログが表示されます。

エミット:

mounted: function() { 
    setTimeout(() => { 
     this.showInfoDialog(); 
    }, 3000); 
}, 
... 
showInfoDialog: function() { 
     eventBus.$emit('showInfoDialog'); 
     this.infoDialogDisplayed = true; 
} 

子コンポーネントのイベントリスナーは次のようになります。私は時々起こる「応答のないページ」警告(その再現性のないを取得していダイアログを表示した後

created: function() { 
    eventBus.$on('showInfoDialog', this.onShowDialog); 
}, 
... 
onShowDialog: function() { 
    $('#info-modal').modal('show'); 
}, 

)。

$ nextTickの中で$ emitを呼び出す必要がありますか?何が問題なの?

+0

関数にログコメントを追加して、予想以上に何かが呼び出されていないかどうかを確認してください。 – d00dle

+1

あなたが示したコードの2つのセクションの関係は何ですか?それはすべて1つのコンポーネントにありますか?または別のコンポーネント? – thanksd

+0

おかげさまで@ d00dle問題が発生し、間隔が3回実行されます!それは何ができるのか? – jigarzon

答えて

0

すべてのコメントに感謝します。 Vue.JSやJavascriptとは何の関係もありませんでした。問題は、私が使用していた別のライブラリで、ダイアログが閉じられたときにディスパッチされたため、ページをハングしていたことでした。

関連する問題