2017-09-13 78 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代码,你可以做更多的服务器端处理 - 但这通常不是人们争取的。