【发布时间】:2017-10-16 04:46:48
【问题描述】:
我使用 vaadin-spring。我创建了public abstract class AbstractBasicVerticalLayoutWithMenu extends HorizontalLayout implements View,并且我有两个普通类扩展它。在抽象类 I@AutowireMenu 组件中定义:
@UIScope
@SpringComponent
public class Menu extends CssLayout
两个类都有注释
@UIScope
@SpringView
我在其中一个视图中有一个非常奇怪的问题,即我的菜单组件没有显示。
我做了一些挖掘并添加了日志记录。开
@Override
public void enter(ViewChangeEvent event)
方法我添加了日志记录并尝试了很多方法,我发现当我执行this.getComponentIndex(menu) 时,错误的视图组件的索引为-1!
有趣的是,如果我从导航器中删除正确显示的视图(我这样做:getNavigator().addView(FirstTesterView.VIEW_NAME, firstTesterView);),那么这个不正确的视图就会恢复正确。
我不知道为什么,但看起来只有扩展 acstract 的实例化类中的第一个获得 @Autowired 组件,而不是下一个。
我做错了什么?
【问题讨论】:
-
你完全正确。请对此评论做出回答,让我批准!
标签: java spring vaadin vaadin8 vaadin-spring-boot