如何在liferay 7中创建单页面应用程序?

时间:2016-08-16 08:53:11

标签: liferay single-page-application liferay-7

任何人都可以使用SennaJS分享有关如何在Liferay 7中创建单页应用程序(SPA)的详细信息。 我找不到任何关于如何在Liferay 7中创建SPA的文档。

3 个答案:

答案 0 :(得分:2)

默认情况下,除非您取消设置以下属性:

javascript.single.page.application.enabled =真

BTW,它在开发实例中相当烦人,因为在第一次访问中加载页面需要一段时间,有时你甚至需要重新加载页面。此外,请注意,在某些特殊情况下,某些应用程序可能会中断,通常是由于代码在页面重新加载后才能正常运行。

答案 1 :(得分:1)

您甚至可以使用以下代码在6.2中创建它。

// initializing senna 
                 var app = new senna.App();
                 // Set links selector for navigations
                 app.setLinkSelector(".senna-link");
                 // set basic path of liferay site
                 app.setBasePath('/web/spa-demo/');
                 // Id of DOM element which will be replaced from
                 // next page request
                 // using content div - default in liferay theme
                 app.addSurfaces('content');
                 // define routes for all the navigation links
                 // route link = Base path + page link
                 app.addRoutes([
                     new senna.Route('home', senna.HtmlScreen),
                     new senna.Route('second', senna.HtmlScreen),
                     new senna.Route('third', senna.HtmlScreen),
                 ]);

你需要照顾的东西,如果它是SPA,那么所有的事件都需要先绑定,即代理,因为不会有页面刷新。

即像document.getReady这样的东西只会被调用一次。

答案 2 :(得分:0)

无论您要使用Liferay SDK / Workspace或任何兼容的liferay插件创建和部署什么portlet,默认情况下它都是SPA。 无需在其上进行任何编码。