2017-09-13 1 views
1

Angularを使用して、Liferayポートレットを同じページ内にレンダリングする必要があります。 各ポートレットは別々にコーディングされていますので、複数のAngularインスタンスを並列に実行することができました。 ここでは、同じページ内にportletid1とportletid2があり、各ポートレットは別々の角度アプリケーションであり、別々のルートがあります。 私たちは、たとえばこのようになりURLを想像することができ、別途 各ポートレットは、そのハッシュの変更イベントを聞きたい:route_of_portlet_1とポートレット2リスニングを保つ: https://myportal/page#portletid1:/login;portlet2:/route2 は、それは、ポートレット1の角度アプリがportletid1に耳を傾けるようにすることは可能ですportletid2に:route_of_portlet_2?同じページ内の複数の角度インスタンスの角度ルーティングをカスタマイズする

私は角度の経験を持っていないが、最近angular sample projectはあなたが欲しいものを行う可能性がありますいずれか、または単純すぎるかもしれませんLiferayのブレードサンプルに添加し、角度2

+0

ポートレットについてはわかりませんが、ルート内のloadChildrenが表示される場合は、モジュールとそのコンポーネントを動的にロードします。 –

答えて

0

を使用しています - 検証してくださいこれはあなた自身で

ここは完全なサンプルをコピーするには、おそらくあまりにも多くのですが、ビューで使用する魔法の値に注意してください。

bnd.bndview.jspで使用されているWeb-ContextPath: /angularjs-simple-portletを、宣言しています。

多くのコードのないポートレット自体はjavax.portlet.name=AngularJSSimplePortlet(私は定数を解決する自由を取っています)を宣言しています。これは上記のWeb-ContextPathと共にapp.jsで参照されます。

これがお客様のニーズを満たしている場合や、より自動的なものが必要な場合は、お試しください。 jsコードはサーバー側で処理されないことに注意してください。 JSPでJSコードを提供している場合は、サーバー側の処理をさらに行うこともできますが、これは一般的に人々が目指すものではありません。

関連する問題