Использование логического оператора в условном выражении нокаута при привязке

<!-- ko if:name == 'Setup' || name == 'Appeals' -->
  <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret">/span>/button>
<!-- /ko -->

Я пытаюсь показать кнопку с раскрывающимся списком только тогда, когда свойство имени содержит значение «Настройка» или «Апелляции», но это не работает. Можем ли мы использовать логический оператор в вышеприведенном нокауте при привязке?


person user2585299    schedule 14.10.2013    source источник


Ответы (1)


Когда вы используете условный оператор внутри своей привязки, помните, что вам нужно «получить» значение -

<!-- ko if: name() === 'Setup' || name() === 'Appeals' -->
  <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret">/span>/button>
<!-- /ko -->
person PW Kad    schedule 14.10.2013
comment
не знаю, объясняется ли это в документации, ну... я не нашел. Но действительно важно - person Valerio; 02.05.2014
comment
@colthreepv, свойство ''name'' является наблюдаемым, поэтому его нужно вызывать как функцию в представлении - name(). - person Samih A; 25.12.2016
comment
Если вы хотите сделать name() !== 'Setup', вы можете использовать ifnot: - person aloisdg; 03.06.2019