使用ZK-MVVM-what';根据文本框值显示/隐藏图像的最佳方式是什么?

使用ZK-MVVM-what';根据文本框值显示/隐藏图像的最佳方式是什么?,mvvm,zk,zul,Mvvm,Zk,Zul,我有一个文本框和一个图像。当用户将文本插入文本框时,我想更改显示的图像。我的疑问是如何以MVVM的方式和“干净”的方式(遵循最佳实践)做到这一点 在我看来,实现这一目标的方法似乎“繁琐”:将图像更改为: <image id="searchImage" src="@load(vm.imageSrc)" ca:blueeyename="searchImage" /> 然后在我的viewModel中有一个“imageSrc”变量。在我的“search”命令中,我将imageSrc

我有一个文本框和一个图像。当用户将文本插入文本框时,我想更改显示的图像。我的疑问是如何以MVVM的方式和“干净”的方式(遵循最佳实践)做到这一点


在我看来,实现这一目标的方法似乎“繁琐”:将图像更改为:

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

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

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

有没有更干净的方法呢?

AlfaTeK

你100%在做MVVM。您不会将textbox连接到控制器,而是设置一个表示src的变量

我已经回顾了很多人的代码,他们一直在思考如何使用MVVM,并不断地混合使用MVC和MVVM

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

没有更干净的方法,但如果你真的想在zul中使用,你可以使用
,但就我个人而言,这更难看


Greetz chill.

谢谢您的反馈。我的“瘙痒”是在我的MVVM上创建一个新的字段“仅仅”用于此,但我想这是我知道的最干净的方式,一开始很奇怪,但另一方面,你的VM中没有像mvc中的文本框那样的可视组件。
<image id="searchImage" src="@load(vm.imageSrc)" ca:blueeyename="searchImage" />