使用ZK MVVM什么是基于文本框值显示/隐藏图像的最佳方式?

时间:2014-02-19 18:37:43

标签: mvvm zk zul

我有一个文本框和一个图像。当用户在文本框中插入文本时,我想更改显示的图像。我怀疑的是如何以MVVM的方式和“干净”的方式(按照最佳实践)这样做。

<textbox id="searchTextbox" onChanging="@command('search')"/>
<image id="searchImage" src="/img/textbox/search-icon.png" ca:blueeyename="searchImage" />

我必须实现这一目标,这似乎是“麻烦的”:将图像更改为:

<image id="searchImage" src="@load(vm.imageSrc)" ca:blueeyename="searchImage" />

然后在我的viewModel中我有“imageSrc”变量。在我的“搜索”命令中,我将imageSrc变量更改为正确的值。

我的解决方案似乎有点难看,因为我必须在我的ViewModel上创建一个变量。我期望在我的.zul文件中实现所有这些。

以更干净的方式做任何事情?

1 个答案:

答案 0 :(得分:3)

AlfaTeK,

你100%做MVVM。您没有将文本框连接到控制器,而是设置一个代表src的变量。

我已经回顾了许多想要做MVVM的人的代码,并且只是继续混合使用MVC和MVVM。

(也祝贺使用@load而不是@bind,它的逻辑很奇怪但很多人用于几乎所有的@bind

一个更干净的方式不存在,但如果你真的想在你的zul中做到这一点,你可以使用<zscript>,但对我而言,这只是更加丑陋。

Greetz chill。