반응형
Handlebars 'each'루프를 사용하여 부모의 속성에 액세스
다음과 같은 단순화 된 데이터를 고려하십시오.
var viewData = {
itemSize: 20,
items: [
'Zimbabwe', 'dog', 'falafel'
]
};
그리고 핸들 바 템플릿 :
{{#each items}}
<div style="font-size:{{itemSize}}px">{{this}}</div>
{{/each}}
each
루프 내에서 부모 범위에 액세스 할 수 없기 때문에 작동 하지 않습니다. 적어도 내가 시도한 방식은 아닙니다. 나는 이것을하는 방법이 있기를 바라고 있습니다!
이를 달성하기위한 두 가지 유효한 방법이 있습니다.
부모 범위를 역 참조 ../
../
속성 이름 앞에 추가 하면 부모 범위를 참조 할 수 있습니다.
{{#each items}}
<div style="font-size:{{../itemSize}}px">{{this}}</div>
{{#if this.items.someKey}}
<div style="font-size:{{../../itemSize}}px">{{this}}</div>
{{/if}}
{{/each}}
을 반복하여 여러 수준으로 올라갈 수 있습니다
../
. 예를 들어, 두 레벨 위로 올라가려면을 사용하십시오
../../key
.자세한 내용
대한 핸들 바 설명서를 참조하십시오 .
루트 범위를 @root
@root
속성 경로 앞에 추가 하면
표시된 것처럼 최상위 범위에서 아래쪽으로 탐색 할 수 있습니다 .자세한 내용
대한 Handlebars 설명서를 참조하십시오 .
새로운 방법은 도트 표기법을 사용하고 슬래시 표기법은 더 이상 사용되지 않습니다 (
http://handlebarsjs.com/expressions.html
).따라서 부모 요소에 액세스하는 실제 방법은 다음과 같습니다.
@root.grandfather.father.element
@root.father.element
구체적인 예에서는 다음을 사용합니다.
{{#each items}}
<div style="font-size:{{@root.viewData.itemSize}}px">{{this}}</div>
{{/each}}
공식 문서 (
http://handlebarsjs.com/builtin_helpers.html
) 의 또 다른 방법은 별칭을 사용하는 것입니다
각 도우미는 블록 매개 변수를 지원하여 블록의 어느 곳에서나 명명 된 참조를 허용합니다.심층 변수 참조없이 어린이가 액세스 할 수있는 키 및 값 변수를 작성합니다. 위의 예에서 {{key}}>는 {{@ .. / key}}와 동일하지만 대부분의 경우 더 읽기 쉽습니다.{{#each array as |value key|}} {{#each child as |childValue childKey|}} {{key}} - {{childKey}}. {{childValue}} {{/each}} {{/each}}
참고 URL :
반응형
'programing' 카테고리의 다른 글
드롭 다운 목록을 만드는 방법은 무엇입니까? (0) | 2020.05.17 |
---|---|
jQuery의 ".val ()"을 사용하는 양식에서 숨겨진 필드 값 설정이 작동하지 않습니다 (0) | 2020.05.17 |
Date 객체를 달력 객체로 변환 (0) | 2020.05.17 |
Oracle SQL Developer에서 사용자 정의 날짜 시간 형식을 설정하는 방법 (0) | 2020.05.17 |
Bash에서 파일 경로를 어떻게 정규화합니까? (0) | 2020.05.17 |