У меня есть серия изображений, и я хочу, чтобы каждый из них был видимым одновременно, на основе наблюдаемого свойства на моей модели просмотра.
То, что я хотел бы иметь, выглядит примерно так:
<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'
- это просто свойство ko.observable на моей модели viewModel. Указанное связывание не работает, когда изменяется значение 'type'
. Обходной путь, который у меня есть, состоит в том, чтобы сделать зависимым для каждого потенциального типа следующим образом:
viewModel.isA = ko.dependentObservable(function(){
return this.type() == 'a';
}, viewModel);
Это работает, но это приводит к тому, что мой код становится довольно большим. Я чувствую, что привязка выражения должна работать, и я, возможно, просто немного отключил синтаксис. Есть ли чистый способ сделать это?