任何人都可以使用SennaJS分享有关如何在Liferay 7中创建单页应用程序(SPA)的详细信息。 我找不到任何关于如何在Liferay 7中创建SPA的文档。
答案 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。 无需在其上进行任何编码。