Язык шаблонов скорости: Соедините два условия в одном выражении #elseif()

В моем примере параметры:

$ p2.length

который имеет значение "0"

и логическое значение

$suspectYesNo, для которого установлено значение "false".

Я ожидаю, что в моем коде второй #elseif будет работать из-за моих установленных параметров, но, тем не менее, он показывает, что "Code 4 выполняется"

Я предполагаю, что моя ошибка заключается в соединении обоих условий с использованием "&&", но я понятия не имею, как правильно определить линию с двумя условиями.

Это подводит меня к вопросу: как правильно объединить два условия ($p2.length()==0) И ($suspectYesNo.value.contains("true")) в одном #elseif().

Или я правильно определил логическое значение?

  #if($p2.length()>0)

  Code 1 runs

  #elseif($p2.length()==0 && $suspectYesNo.value.contains("true"))

  Code 2 runs

  #elseif($p2.length()==0 && $suspectYesNo.value.contains("false"))

  Code 3 runs

  #else

  Code 4 runs

  #end

1 ответ

Решение

Спасибо user7294900 за предоставленную мне ссылку, с помощью которой я смог решить проблему.

Он не считывал логическое значение как строку, которую можно исправить, добавив метод "toString()".

С этим кодом здесь все работает как надо:

  #if($p2.length > 0)

  Code 1 runs

  #elseif($p2.length == 0 && $suspectYesNo.value.toString().contains("true"))

  Code 2 runs

  #elseif($p2.length == 0 && $suspectYesNo.value.toString().contains("false"))

  Code 3 runs

  #else

  Code 4 runs

  #end
Другие вопросы по тегам