【问题标题】:SAPUI5 - Routing with parameterSAPUI5 - 带参数的路由
【发布时间】:2016-06-21 20:32:38
【问题描述】:

我有 2 页。在第一页,用户需要选择下拉值并单击提交,我称之为 jQuery ajax。成功后,我需要将响应传递到第 2 页。以下是我尝试过的。但它不起作用。

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"
        }],

【问题讨论】:

    标签: routing sapui5 sap-fiori


    【解决方案1】:

    您想要导航到名称为 "table" 的路线,但您的 manifest.json 不包含使用此名称的路线。对齐路线名称,然后重试。

    查看网页的网址;下载数据后它应该会改变。如果它没有改变,请确保 router 在您的 Component.js init() 函数中初始化:this.getRouter().initialize()

    编辑: 根据提供的代码,您正在尝试添加一个数组作为 URL 参数。这不受支持,您应该只传递字符串参数或编码整个数组并在第二个视图中解码。 路由定义也不正确;如果你想使用目标,你应该定义一个目标对象,你可以看到here。如果您不想使用目标,请在 Router 构造函数中将属性名称 "target" 更改为 "view"(注意它现在已弃用,因此我建议使用 Component 和/或 manifest.json用目标定义路由)。

    【讨论】:

    • 抱歉编辑错误。在实际代码中,我已经正确传递了它。我还检查了component.js & 路由器已初始化。但它仍然返回错误“无法读取 null 的属性 'length'”
    • @Yal 你能发布你的代码(例如使用 JSBin)吗?收到错误消息后,您检查过 URL 吗?是否包含 details 参数?
    • 我在这里添加了我的代码。请参考JsBin
    • @nistv4n 感谢您的信息!现在我已经在全球范围内声明了一个模型并在第一页中设置了 JSONModel 并在第二页中检索了数据。有效。同样在我的工作区中,我使用了 manifest.json 中的目标。
    猜你喜欢
    • 2016-11-07
    • 2017-10-31
    • 1970-01-01
    • 2017-07-10
    • 2015-12-10
    • 2017-02-10
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多