Доступ к свойствам viewModel - PullRequest
1 голос
/ 07 сентября 2011

У меня есть шаблон привязки следующим образом

<tbody id ="mytemplatetbody"
       data-bind="template: {name: 'myTemplate', foreach: Items}">
</tbody>

Строки в шаблоне имеют поле состояния, значение которого может быть 1, 2 или 3. На этом экране есть три флажка, и в зависимости от того, какие флажки выбирает пользователь, строки должны быть видны.

Вот что я сделал: добавил три наблюдаемых свойства в viewModel и привязал их к трем флажкам. Я могу отобразить эти значения следующим образом:

<span data-bind="text: viewModel.checkBox1Selected()"></span>

Вопрос: Я не могу поместить в свой шаблон какие-либо операторы if, например, как этот ...

{{if viewModel.checkBos1Selected() }} 

... так, как лучше или в любом случае я могу выполнить то, что я описал выше?

1 Ответ

4 голосов
/ 08 сентября 2011

Обычный способ сделать это - создать зависимый объект, который будет представлять ваши отфильтрованные строки. Затем свяжите свой шаблон с этим зависимым объектом наблюдения. Всякий раз, когда изменяется один из ваших наблюдаемых фильтров, отфильтрованные строки будут переоцениваться.

Вот пример: http://jsfiddle.net/rniemeyer/BXeCb/

Вы, конечно, можете выполнять фильтрацию, однако лучше всего подходит для вашего приложения. Я использовал проверенную привязку к массиву observableArray для хранения моих фильтров, но вы можете легко использовать свой метод использования трех наблюдаемых свойств в модели представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...