zk viewmodel或selectorcomposer

时间:2015-06-18 18:53:54

标签: zk

我在zk的世界新手,所以我怀疑...我已经阅读了zk 8文档(几乎所有)。在办公室,一些合作伙伴正在使用ViewModel,但在一些组件内部正在使用Composer(selectorComposer)绑定一些这样的元素:

<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的原因是什么?或者它是如何工作的?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

从我的角度来看SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']允许您以非常传统的方式重用Java代码。例如,您可以定义一个SelectComposer功能,该功能将在相同类型的其他控件中重用,功能略有不同,并扩展AbstractController。在这种方法中,您可以通过实现AbstractController的方法(如SelectComposer)来控制组件的生命周期。 但实际上你可以用纯MVVM做同样的事情,但是你应该使用doAfterComposeSelectComposer之类的注释来代替@AfterCompose的实现方法,你也可以扩展基类,要使用您的视图,您只需更改zul文件中的标记,例如:

@Init

我认为只是一个偏好问题,我更喜欢(我总是建议)使用纯MVVM,因为它可用,而且我没有找到任何我无法重复使用MVVM方法的功能。

参考文献: IncludeZk annotations