2017-09-13 86 views
1

我想使用Angular在同一頁面內呈現Liferay portlet。 每個portlet分別編碼,我設法讓多個Angular實例並行運行。 現在,我在同一個頁面中有portletid1和portletid2,每個portlet是一個單獨的角度應用程序,並具有單獨的路徑。 我想每個portlet分別 聽其哈希改變事件,我們可以想像,網址是這樣的,例如: https://myportal/page#portletid1:/login;portlet2:/route2 是否有可能讓上的portlet 1角應用聽portletid1:route_of_portlet_1和保持門戶2聆聽到portletid2:route_of_portlet_2?爲同一頁面中的多個角度實例定製角度路由

我用角與角2

+0

不確定關於portlet,但如果您將在路由中看到loadChildren,它將動態加載模塊及其組件。 –

回答

0

我沒有經驗,但最近一個angular sample project加入Liferay的葉片樣品,這可能要麼做你想要什麼,或者可能過於簡單 - 請確認這是你自己的。

這可能太多複製到這裏全樣本,但要注意在視圖中使用魔法值:

bnd.bnd聲明Web-ContextPath: /angularjs-simple-portlet,這是在view.jsp使用。

該portlet本身,沒有太多的代碼,聲明javax.portlet.name=AngularJSSimplePortlet(我已經採取自由來解決常數),然後將其在app.js簡稱,與Web-ContextPath從上方一起。

如果這符合您的需求或者您需要更自動的東西,我會讓您試試。請記住,js代碼沒有在服務器端處理。如果你有JSP提供你的JS代碼,你可以做更多的服務器端處理 - 但這通常不是人們爭取的。