Handlebars.js에서 논리 연산자 사용 {{#if}} 조건부
Handlebars.js는 강력한 {{#if}} 주어진 표현식을 기반으로 콘텐츠를 조건부로 렌더링하는 조건부 연산자입니다. 그러나 표준 연산자는 단순한 참/거짓 조건만 지원합니다. 이로 인해 더 복잡한 논리적 관계를 표현하는 능력이 제한됩니다.
문제:
OR(||)와 같은 논리 연산자를 핸들바에 통합할 수 있습니까? .js {{#if}} 조건부 연산자?
답변:
handlebars.js는 기본적으로 조건부 연산자에서 논리 연산자를 지원하지 않지만 블록 도우미를 활용하여 이 기능을 구현하는 것이 가능합니다. 블록 도우미는 핸들바로 등록하여 기능을 확장할 수 있는 사용자 정의 함수입니다.
논리 조건을 처리하기 위해 'ifCond'라는 블록 도우미를 등록하는 방법은 다음과 같습니다.
Handlebars.registerHelper('ifCond', function(v1, v2, options) { if(v1 === v2) { return options.fn(this); } return options.inverse(this); });
이 도우미 두 값 v1과 v2가 동일한지 확인합니다. 그렇다면 'true' 블록(options.fn)의 내용을 반환합니다. 그렇지 않으면 'false' 블록(options.inverse)의 내용을 반환합니다.
템플릿에서 이 도우미를 사용하려면 비교하려는 값으로 호출하면 됩니다.
{{#ifCond v1 v2}} {{v1}} is equal to {{v2}} {{else}} {{v1}} is not equal to {{v2}} {{/ifCond}}
이렇게 하면 v1과 v2가 같은지 여부에 따라 두 블록 중 하나가 출력됩니다.
이 기능을 달성하기 위해 블록 도우미를 사용하는 동안 그렇지 않을 수도 있습니다. Handlebars의 철학에 맞춰 기능을 확장하고 템플릿에서 복잡한 논리적 관계를 처리할 수 있는 방법을 제공합니다.
위 내용은 Handlebars.js {{#if}} 조건부에서 'OR'과 같은 논리 연산자를 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!