Язык шаблонов скорости: Соедините два условия в одном выражении #elseif () - PullRequest
0 голосов
/ 02 октября 2018

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

$ p2.length

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

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

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

Я бы ожидал, что в моем коде second # 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 Ответ

0 голосов
/ 02 октября 2018

Спасибо 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
...