2ページあります。最初のページで、ユーザーはドロップダウンの値を選択する必要があります&私はjQuery ajaxと呼んでいます。成功すると、私はページ2への応答を渡す必要があります。以下は私が試みたものです。しかし、それは動作しません。SAPUI5 - パラメータ付きのルーティング
firstPage.controller.js
jQuery.ajax({
url: requestUriOutput,
method: "GET",
async: false,
dataType: "json",
success: function(data) {
if(data.d.results.length > 0)
{
var detail = data.d.results.concat();
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.navTo("second", {details : detail});
}
} });
SecondPage.controller.js
onInit: function() {
var oRouters = sap.ui.core.UIComponent.getRouterFor(this);
oRouters.getRoute("second").attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (oEvent) {
var obj = oEvent.getParameter("arguments").details;
},
manifest.jsonを
"routes": [{
"pattern": "",
"name": "app",
"target": "app"
}, {
"pattern": "first",
"name": "first",
"target": "first"
}, {
"pattern": "second/{details}",
"name": "second",
"target": "second"
}],
ご迷惑をおかけしました。実際のコードでは、正しく渡しました。私は 'component.js'をチェックしました。ルータは初期化されています。しかし、それでも、 "nullのプロパティ 'length'を読み取ることができません" – Hari
@Yalあなたは(JSBinを使用して)あなたのコードを投稿できますか?エラーメッセージが出た後にURLをチェックしましたか?詳細パラメータが含まれていましたか? – nistv4n
ここに自分のコードを追加しました。 [JsBin](https://jsbin.com/muxuco/edit?html,console,output) – Hari