2016-05-23 9 views
0

ページに移動した後にダイアログを開くときに問題が発生しました。ユーザーがこのページにアクセスしたときに常にダイアログを開くことです。sap.m.Pageを表示するダイアログを開く

私は、デバッガを入れ
onInit: function() {} 
    this.myRouter.getRoute("orderscreate").attachPatternMatched(this._onObjectMatched, this); 
}, 

_onObjectMatched: function() { 
    this.dialog = sap.ui.xmlfragment("myDialog", this); 
    this.dialog.open(); 
}, 

、これは素晴らしい作品:

簡体が、私はこのようになりますコントローラを持っている私は、ダイアログが開いて見ることができます。

THEN、ナビゲーションアニメーションが起動し、スライドアニメーションが終了し、ダイアログが閉じられます。私はなぜそれが表示された後にナビゲートすることを主張するのか分からない。

これはnavToも使用すると発生します。ダイアログが開き、アニメーションが開始され、ダイアログが再び閉じられます。 sap.m.Pageには、私が知っている限り、表示した後に別のコードを実行する方法がありません。

アドバイスはありますか?

+0

を初期化された後は、https://sapui5.hana.ondemand.com/#docs/api/([ 'display']を試みることができますシンボル/ sap.ui.core.routing.Target.html#attachDisplay)イベントを 'patternMatched'の代わりに使用します。 – hirse

+0

ありがとう、私はそれをチェックします – Jorg

答えて

1

特に指定しない限り、TargetHandlerはすべての開いているダイアログを閉じます。

ターゲットが表示されているときに、ダイアログを閉じたり、NavContainersにトランジションを表示したりするために使用されるクラスです。

次のコードを追加してみてください、あなたのルータが

this.myRouter.getTargetHandler().setCloseDialogs(false); 
+0

それです!ありがとう。 – Jorg

関連する問題