답변:
이 시도:
<ul id="luke_should_be_here">
{{people.1.name}}
</ul>
Expecting 'ID'
과 오류를 {{user.links.websites.1}} 또는 {{user.links.websites.0}}
{{ websites.[0] }}
.
index 앞에 추가 점이있는 다음 은 예상대로 작동합니다. 여기서 대괄호는 인덱스 다음에 다른 속성이있을 때 선택 사항입니다.
{{people.[1].name}}
{{people.1.name}}
그러나 대괄호는 다음에 필요합니다 .
{{#with people.[1]}}
{{name}}
{{/with}}
후자의 경우, 대괄호없이 색인 번호를 사용하면 다음 중 하나를 얻을 수 있습니다.
Error: Parse error on line ...:
... {{#with people.1}}
-----------------------^
Expecting 'ID', got 'INTEGER'
따로 : 대괄호는 세그먼트 리터럴 구문에 사용되며 , 그렇지 않으면 유효하지 않은 실제 식별자 (인덱스 번호 아님)를 나타냅니다. 에서 자세한 내용 유효한 ID는 무엇입니까?
(YUI의 핸들 바로 테스트했습니다.)
이제이를 위해 get
도우미를 사용할 수 있습니다 .
(get people index)
색인이 문자열이어야한다는 오류가 발생하면 다음을 수행하십시오.
(get people (concat index ""))
{{#with people.1}}
솔루션을 사용하여, 날 위해 일했습니다 com.github.jknack:handlebars:4.1.2
.
동적 변수를 사용하려는 경우
작동하지 않습니다.
{{#each obj[key]}}
...
{{/each}}
해야 할 일 :
{{#each (lookup obj key)}}
...
{{/each}}
핸들 바 조회 도우미 및 핸들 바 하위 표현식을 참조하십시오 .
첫 번째 / 마지막으로 가져 오려면 이것을 시도하십시오.
{{#each list}}
{{#if @first}}
<div class="active">
{{else}}
<div>
{{/if}}
{{/each}}
{{#each list}}
{{#if @last}}
<div class="last-element">
{{else}}
<div>
{{/if}}
{{/each}}
each
현재 항목의 컨텍스트에서 다른 배열에 액세스하려는 경우 와 같이 배열을 반복하는 동안 이와 같이 수행합니다.
다음은 예제 데이터입니다.
[ { 이름 : 'foo', 속성 : [ 'boo', 'zoo'] }, { 이름 : 'bar', 속성 : [ 'far', 'zar'] } ]
다음은 첫 번째 항목을 attr
배열 로 가져 오는 핸들 막대 입니다.
{{#each player}} <p> {{this.name}} </ p> {{#with this.attr}} <p> {{this. [0]}} </ p> {{/와}} {{/마다}}
출력됩니다
<p> foo </ p> <p> 부 </ p> <p> 바 </ p> <p> 먼 </ p>
this
대신에 작동 한다고 가정합니다this.[0]