【问题标题】:How do I pass data between views in Oracle JET?如何在 Oracle JET 中的视图之间传递数据?
【发布时间】:2020-04-10 13:52:09
【问题描述】:

我正在使用 navbar 模板开发 Oracle JET 应用程序,该应用程序从 REST API 获取数据。在主视图interfaces.html 上,我们有一个oj-table,它根据从 REST API 获取的数据显示所有接口的摘要。单击表的interfaceId 列上的链接时,应用程序导航到新视图interfaceDetails.html,其中显示了有关交互的更多详细信息。

目前,我通过observables 中声明的appController.js 将数据传递给interfaceDetails.html 视图,该视图通过选择侦听器从interfaces.html 中的选定行获取特定接口数据​​。但是,我想重新设计 interface.html 视图中的 API 以仅提供摘要数据,并从 interfaceDetails.html 的视图模型调用另一个 API 以获取特定接口的详细信息。

我正在使用此选择侦听器来获取表格中的选定行:

self.interfaceList= ko.observableArray();

//
//REST API calls, table data source setup, etc.
//

self.interfacesTblSelctionListener = function(event) {
    var interfaceId = null;
    event.detail.value.row.values().forEach(key => {
        interfaceId = key;
    });

    if(interfaceId != undefined) {
        $.each(self.interfaceList(), function(id, integration) {
            if(integration.INTERFACE_ID == interfaceId) {
                app.selectedIntegration(integration);
                self.serviceList(integration.Services);
            }
        });
    }
}

我正在使用此功能在视图之间移动:

self.openIntegrationDetailsView = function(event) {
    setTimeout(function() {
    self.router = oj.Router.rootInstance;
    self.router.go('interfaceDetails');
    });
}

有没有办法将最少的数据(例如接口 ID)传递给 interfaceDetails 视图并自行获取详细信息?

任何帮助将不胜感激。

提前致谢, 去博吉特

附:如果我的查询不够清楚,请道歉;这是我的第一个 JET 应用程序。如果需要其他信息,请告诉我,我会相应地更新我的帖子。

【问题讨论】:

    标签: oracle-jet


    【解决方案1】:

    checkout this core-router 示例,我们通过router.go 将员工索引作为参数传递给详细信息页面,并在我们进入该页面时获取员工详细信息(当然,在您的应用程序中,您会这样做s Rest 调用以获取数据)

    this.router.go({ path: 'employee-detail', params: { index: indices[0] } });
    

    【讨论】:

    • 您好,我正在查看示例,恐怕我有点困惑。如果我正确地阅读了这个例子,那么这个功能似乎很大程度上取决于对函数this.initialize 的调用,但我无法准确地找到发生这种情况的地方。请您详细说明一下。谢谢,
    • 这是一个自动调用的生命周期方法。在这里寻找 initialize() => docs.oracle.com/middleware/jet410/jet/developer/…
    • 谢谢,这很有帮助!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 2023-01-20
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2011-12-07
    相关资源
    最近更新 更多