特定页面隐藏菜单,只展示页面

如题,有没有办法,在打开特定页面时隐藏菜单,比如通过链接直接打开某个页面,就不需要菜单了

可以用 UI Event 在两个页面之间通信,MainView 监听到需要关闭菜单的事件,就操作菜单:

public class MainView extends StandardMainView {

    // 定义主菜单事件类型
    public static class SideMenuToggleEvent extends ApplicationEvent{
        private boolean isCollapsed;
        public SideMenuToggleEvent(Object source,boolean isCollapsed) {
            super(source);
            this.isCollapsed = isCollapsed;
        }

        public boolean isCollapsed() {
            return isCollapsed;
        }
    }

    // 监听事件,设置菜单状态
    @EventListener
    private void sideMenuCollapseChanged(SideMenuToggleEvent event) {
        getContent().setDrawerOpened(!event.isCollapsed());
    }
}

然后在需要隐藏菜单的view中:

@Autowired
private UiEventPublisher uiEventPublisher;

@Subscribe
public void onReady(final ReadyEvent event) {
    uiEventPublisher.publishEvent(new MainView.SideMenuToggleEvent(this,true));
}