私は2つのビューを持っています:master1ではアイテムのリストを表示し、アイテムをクリックするとmaster2に移動します。だから私は、単にダイアログを開いています、SAPUI5ナビゲーションと返信
onRouteMatched : function(oEvent) {
var that = this;
var oParameters = oEvent.getParameters();
if (oParameters.name === "master2") {
var oView = this.getView();
var oDialog = oView.byId("dialogBaseInfo");
if (!oDialog) {
oDialog = sap.ui.xmlfragment(oView.getId(),"ZABC.view.fragment.BaseInfo",this);
oView.addDependent(oDialog);
}
this.setCurrentDateTime();
oDialog.open();
}
:私はこのコードを持っているonRouteMatchedでmaster2.jsで
onSelect : function(oEvent) {
this.getRouter().navTo("master2", {
from : "master1",
zlonr : oLoadingOrder.LoNumber
});
},
:コントローラmaster1.js内のコードは次のようになります。 ダイアログが開きますが、すぐにもう一度閉じられますが、それはmaster2の画面になります。デバッガにエラーはありません。 私のルーティングは次のようになります。
pattern: "master1",
name: "master1",
view: "Master1",
// viewLevel: 1,
targetAggregation: "pages",
clearControlAggregation: true,
targetControl: "masterAppId",
subroutes: [
{
pattern: "zlonr/{zlonr}",
name: "master2",
view: "Master2",
// viewLevel: 1,
targetAggregation: "pages",
これがなぜ起こるか任意のアイデア?ダイアログはもちろん開いたままにして、そこで続けてください。ナビゲーションが発生したときに
こんにちは、ご意見ありがとうございます。それは右のように聞こえるが、それでもダイアログを閉じる。私はmaster2にナビゲートする前にこれを入れようとしましたが、master2のinitに入れようとしましたが、まだダイアログを閉じています。 – Tim
@ティム:そうだね。あなたが問題を再現できるどこかのコードや最小限の例を投稿することができればうれしいです。それ以外の場合は、呼び出しスタックをデバッグして、どのモジュールからどのメソッド呼び出しがダイアログを破棄(またはクローズ)しているかを調べることができます。 – boghyon
もう一度あなたの助けに感謝します。私はナビゲーションを行った直後にダイアログを呼び出さず、少しセットアップを変更しました。これを解決する別の方法を見つけることができませんでした。とにかく助けてくれてありがとう! – Tim