2017-05-21 13 views
0

Oracle JET QuickStart Basicテンプレートを使用して、Oracle JETでサンプル・アプリケーションを作成しました。私は、アプリケーションが2つのmudules間の通信を持つことを望みます。私はGeertjanのブログIntermodular communication in Oracle JET(Part 2)Intermodular communication in Oracle JET(Part 3)に記載されている手順を試してみましたが、残念ながらうまくいかないようです。誰かがOracle JET QuickStart Basicテンプレートを使用して相互モジュラ通信を行う方法を教えてくれれば、大きな助けになります。ありがとうございました。Oracle JETでのモジュール間通信

+0

を取り付けた状態のパラメータで初期化することができます取得?あなたが読んだブログ記事から分かるように、これを行うには複数の方法があります。 – peppertech

答えて

0

すべてのモジュールからアクセス/変更できるグローバル変数を使用できます。

ステップ1:モジュール間で通信する変数(appController.js/main.js内)を定義します。

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

ステップ2:あなたは

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

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

rootModel-

このことができます希望を取得した後、変数にアクセスできるモジュールで!

ありがとうございました

1

いくつかのパラメータを渡すことができます。

<!-- 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

+0

リンクが壊れた場合に備えて、コードにいくつかのコードを含めてください – jhhoff02

+0

このリンクは質問に答えるかもしれませんが、ここでは答えの重要な部分を含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質の投稿/ 16936859) – Gerry