Интермодульная связь в Oracle JET

Я создал образец приложения в Oracle JET, используя шаблон Oracle JET QuickStart Basic. Я хочу, чтобы приложение имело связь между двумя модулями. Я попытался использовать шаги, упомянутые в блоге Геерджана. Интермодульная связь в Oracle JET(часть 2) и Интермодульная связь в Oracle JET(часть 3), но, к сожалению, она не работает. Было бы очень полезно, если бы кто-нибудь объяснил мне, как выполнять интермодульную связь, используя шаблон Oracle JET QuickStart Basic. Спасибо.

2 ответа

При переходе на другой модуль вы можете передать некоторые параметры.

<!-- Module binding with params -->
<div data-bind="ojModule: {name: currentName, params: currentName}"></div>

http://www.oracle.com/webfolder/technetwork/jet/jsdocs/ojModule.html

и переменные могут быть инициализированы с параметрами, пока модуль подключен

self.handleAttached = function (info) {
          var param = ko.utils.unwrapObservable(info.valueAccessor()).params;
          console.log(param);
          self.variableToBeInitialized= param;
          };

https://docs.oracle.com/middleware/jet230/jet/reference-jet/oj.ModuleBinding.ConventionMethods.html

Вы можете использовать глобальную переменную, которая может быть доступна / изменена из всех модулей.

Шаг 1: Определите переменные (в appController.js/main.js), которые будут передаваться через модули.

self.var1= ko.observable("");
self.var2= ko.observable('');

Шаг 2: В модулях вы можете получить доступ к переменным после получения rootModel-

self.rootModel = ko.dataFor(document.getElementById('globalBody'));

var variable1= self.rootModel.var1;
var variable2= self.rootModel.var2;

Надеюсь это поможет!

Спасибо

Другие вопросы по тегам