Я работаю над приложением Oracle JET с шаблоном navbar
, и приложение получает данные из API REST. В главном представлении interfaces.html
у нас есть oj-table
, отображающий сводку всех интерфейсов на основе данных, извлеченных из REST API. При нажатии на ссылку в столбце interfaceId
таблицы приложение переходит к новому представлению interfaceDetails.html
, в котором отображаются дополнительные сведения о взаимодействии.
В настоящее время я передаю данные в interfaceDetails.html
просмотр через observable
s, объявленный в appController.js
, который получает указанные данные интерфейса c из выбранной строки в interfaces.html
через прослушиватель выбора. Однако я хотел бы перепроектировать API в представлении interface.html
, чтобы предоставлять только сводные данные, и иметь другой API, вызываемый из модели представления interfaceDetails.html
, для извлечения подробностей для указанного интерфейса c.
Я использую этот слушатель выбора, чтобы получить выбранную строку в таблице:
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');
});
}
Is Есть ли способ передать минимальные данные (например, идентификатор интерфейса) в представление interfaceDetails
и получить эти данные самостоятельно?
Любая помощь будет принята с благодарностью.
Спасибо в заранее, Debojit
PS Извиняюсь, если мой запрос недостаточно ясен; это мое первое приложение JET. Пожалуйста, дайте мне знать, если потребуется дополнительная информация, и я соответствующим образом обновлю свой пост.