【发布时间】:2011-12-05 17:00:16
【问题描述】:
我有一系列图像,我希望一次只显示一个,基于我的 viewModel 上的可观察属性。
我想要的是这样的:
<img src="a.jpg" data-bind="visible: type == 'a'" />
<img src="b.jpg" data-bind="visible: type == 'b'" />
<img src="c.jpg" data-bind="visible: type == 'c'" />
...
'type' 在我的 viewModel 上是一个简单的 ko.observable 属性。当'type' 的值发生变化时,上述绑定不起作用。我的解决方法是为每个潜在类型创建一个dependentObservable,如下所示:
viewModel.isA = ko.dependentObservable(function(){
return this.type() == 'a';
}, viewModel);
这可行,但它会导致我的代码变得非常大。我觉得表达式绑定应该可以工作,而且我可能只是稍微偏离了语法。有没有一种干净的方法可以做到这一点?
【问题讨论】: