gpt4 book ai didi

zk viewmodel 或 selectorcomposer

转载 作者:行者123 更新时间:2023-12-01 05:03:49 29 4
gpt4 key购买 nike

我是 zk 世界的新手,所以我有一个疑问……我已经阅读了 zk 8 文档(几乎全部)。在办公室,一些合作伙伴使用 ViewModel,但内部一些组件使用 Composer (selectorComposer) 来绑定(bind)一些元素,如下所示:

<div apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('com.some.package.SomeViewModel')">
<vbox>
... SOME ANOTHER ELEMENTS ....
<div apply="com.some.package.SomeComposer">
<hbox>
<vbox>
<checkbox ... more code...
</checkbox>
</vbox>
</hbox>
</div>
</vbox>
</div>

我读到如果你应用 SelectorComposer 你失去了耦合......那么在 ViewModel 中使用 SelectComposer 的原因是什么?或者它是如何工作的?

非常感谢您的帮助。

最佳答案

从我的角度来看SelectComposer允许您以非常传统的方式重用 java 代码。例如,您可以定义 AbstractController具有将在具有略微不同功能的相同类型的其他控件中重用的功能并扩展AbstractController .在这种方法中,您可以通过实现 SelectComposer 的方法来控制组件的生命周期。喜欢 doAfterCompose .
但实际上你可以用纯 MVVM 做同样的事情,但不是实现 SelectComposer 的方法。您应该使用 @AfterCompose 之类的注释或 @Init您也可以扩展基类,要使用您的 View ,您只需更改 zul 文件中的标签,如下所示:

<include src="/artifacts/componente_to_reuse.zul"/>

我认为这只是一个偏好问题,我更喜欢(并且我总是推荐)使用纯 MVVM,因为它可用,而且我还没有发现任何我无法使用 MVVM 方法重用的功能。

引用:
Include ,
Zk annotations

关于zk viewmodel 或 selectorcomposer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30923500/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com