【问题标题】:in griffon can I 'configure' a view using an external config file ?在 griffon 中,我可以使用外部配置文件“配置”视图吗?
【发布时间】:2015-03-20 15:17:37
【问题描述】:

在 griffon 视图中,我有一些基于模型参数构造面板的代码.. 所以我有..

if (model.stillageType.equals("SNP3")){
  // build a panel  ..  
}

if (model.stillageType.equals("SNP6")){
  // build a different panel ..  
}

我目前正在尝试通过本地配置文件从 mvcGroupInit 设置模型 - 我读取了文件并设置了模型 - 但此时我的视图似乎已经构建并且没有显示任何内容。一旦设置了值就不会改变 - 它不是动态属性。我只是希望能够在不同的 PC 上加载多个版本,每个版本都显示不同的设计面板。我可以通过对每个发行版进行硬编码来解决它,但我真的很想从配置文件中加载它。在我的 mvcGroupInit 例程中我有..

model.stillageType =
         connector.properties.get('stillageType')

这将加载模型但我认为视图已经构建并且它没有被应用..无论如何我可以做到这一点吗?

谢谢

【问题讨论】:

    标签: groovy griffon


    【解决方案1】:

    这是 Griffon 1.5 还是 Griffon 2.0?在 Griffon 1.5 中,您可以通过提供构造函数或覆盖 mvcGroupInit() 来初始化模型;确保model 成员在Config.groovy 中的view 之前定义。在 Griffon 2.0 中,您可以额外使用 @PostConstruct 注释方法,该方法将在构造函数之后和 mvcGroupInit() 方法之前调用。 同样,确保 modelview 之前定义(默认值)将确保在 view 初始化之前调用 model.mvcGroupInit()

    【讨论】:

      【解决方案2】:

      我正在使用 Griffon 1.5 .. 我更改了此 mvcGroup 的 Config.groovy 文件以创建模型、控制器、视图而不是模型、视图、控制器。我假设这允许 mvcGroupInit 例程在构建视图之前正确初始化我的模型 - 允许视图获取我的模型的修改版本..现在工作正常..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-15
        • 1970-01-01
        • 1970-01-01
        • 2018-09-27
        • 1970-01-01
        • 2015-09-02
        • 1970-01-01
        相关资源
        最近更新 更多