第一:我很震惊,不得不问这个问题。在文档中没有任何地方解释了应如何使用新的“WindowManager” ...我一直在围绕此进行数小时的学习,但我仍然没有一种令人满意的方法来完成如此琐碎的事情:

def vName = 'Error'
if (!app.views[vName]) { //I just want to create it once, otherwise I'd just change it's model and want to show() it!
  buildMVCGroup(vName, vName, errorCode: 500, message: "fail detected ;-)") //ok, this indeed shows the idem (as it's an "frame(/**/show: true,/*...*/", but I dont want to create it each time
}

//    app.windowManager.show(app.views.Error) //fails, show() want's an Window, and app.views.Error is of ErrorView type
//    app.views.Error.visible = true //won't display the view
//    app.views.Error.show() // there is no such method

我还需要一种很好的隐藏方式,例如:
//in controller
def view
def hideAction = {
  //view.hide() //fails, no such method...
}

另一种让我感到高兴的方法是一种简单的方法,即“当用户单击OK(在ErrorView中)时,处理此MVCGroup。我今天已经在搜索和阅读示例很多时间了,但仍然想不通如何编写如此简单的应用程序流程代码...

在此先感谢您对执行此操作的任何想法,
干杯

最佳答案

对于框架-我所做的...

在我看来,我为框架命名
application(name: 'login', ...
然后在我的 Controller 中
app.windowManager.hide(app.windowManager.findWindow('login'))app.windowManager.show(app.windowManager.findWindow('workspace'))
所以...我确保我对所有 View 都“命名”,然后可以轻松地在窗口管理器中显示/隐藏...

您对文档的权利。我希望我正在做的也是“正确的事情”。

关于groovy - 如何在Griffon中轻松显示/隐藏 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4356871/

10-12 06:11