如何在 Oracle JET 中的视图之间传递数据?
How do I pass data between views in Oracle JET?
我正在使用 navbar
模板开发 Oracle JET 应用程序,该应用程序从 REST API 获取数据。在主视图 interfaces.html
上,我们有一个 oj-table
显示基于从 REST API 获取的数据的所有接口的摘要。单击 table 的 interfaceId
列上的 link,应用程序导航到一个新视图 interfaceDetails.html
,该视图显示有关界面的更多详细信息。
目前,我正在通过 appController.js
中声明的 observable
将数据传递到 interfaceDetails.html
视图,它从 [=] 中的选定行获取特定接口数据13=] 通过选择侦听器。但是,我想重新设计 interface.html
视图中的 API 以仅提供摘要数据,并从 interfaceDetails.html
的视图模型中调用另一个 API 来获取详细信息的特定接口。
我正在使用此选择侦听器获取 table 中的选定行:
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
视图并让其自行获取详细信息?
如有任何帮助,我们将不胜感激。
提前致谢,
Debojit
P.S。如果我的查询不够清楚,我们深表歉意;这是我的第一个 JET 应用程序。如果需要其他信息,请告诉我,我会相应地更新我的 post。
checkout this 核心路由器示例,我们通过 router.go
将员工索引作为参数传递给详细信息页面,并在我们进入该页面时获取员工详细信息(当然,在您的应用程序,您将执行 Rest 调用以获取数据)
this.router.go({ path: 'employee-detail', params: { index: indices[0] } });
我正在使用 navbar
模板开发 Oracle JET 应用程序,该应用程序从 REST API 获取数据。在主视图 interfaces.html
上,我们有一个 oj-table
显示基于从 REST API 获取的数据的所有接口的摘要。单击 table 的 interfaceId
列上的 link,应用程序导航到一个新视图 interfaceDetails.html
,该视图显示有关界面的更多详细信息。
目前,我正在通过 appController.js
中声明的 observable
将数据传递到 interfaceDetails.html
视图,它从 [=] 中的选定行获取特定接口数据13=] 通过选择侦听器。但是,我想重新设计 interface.html
视图中的 API 以仅提供摘要数据,并从 interfaceDetails.html
的视图模型中调用另一个 API 来获取详细信息的特定接口。
我正在使用此选择侦听器获取 table 中的选定行:
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
视图并让其自行获取详细信息?
如有任何帮助,我们将不胜感激。
提前致谢, Debojit
P.S。如果我的查询不够清楚,我们深表歉意;这是我的第一个 JET 应用程序。如果需要其他信息,请告诉我,我会相应地更新我的 post。
checkout this 核心路由器示例,我们通过 router.go
将员工索引作为参数传递给详细信息页面,并在我们进入该页面时获取员工详细信息(当然,在您的应用程序,您将执行 Rest 调用以获取数据)
this.router.go({ path: 'employee-detail', params: { index: indices[0] } });