Program Tip

핸들 바 템플릿 내에서 배열 길이를 찾는 방법은 무엇입니까?

programtip 2020. 10. 13. 19:05
반응형

핸들 바 템플릿 내에서 배열 길이를 찾는 방법은 무엇입니까?


json 개체를 사용하여 렌더링 된 Handlebars 템플릿이 있습니다. 이 json에서 나는 배열을 보내고 있습니다. 이렇게 :

var json = {
               "array":["abc","def","ghi","jkl"] 
}

이제 내 템플릿에서이 배열의 길이를 찾고 싶습니다. 다음과 같은 것 :

{{#each item}}
   {{ array.length }}
{{/each}}

Handlebars 문서에서 찾을 수 없습니다.


내 잘못이야....

{{array.length}}실제로 템플릿 내부에서 작동했습니다. 여기에 게시하기 전에 확인 / 테스트해야합니다.


이 경우 각 블록 내에서 각 부모 변수를 참조해야합니다.

{{#each array}}
    {{../array.length}}
{{/each}}

나는 당신의 변수가 "배열"이라는 이름이 아마 문제를 합병시키는 것이라고 생각합니다. 명확하게하기 위해 몇 가지 다른 JSON을 가정 해 보겠습니다.

var json = {
    "fruit":["apple","orange","banana"]
};

그래서 이렇게 :

<ul>
    {{#each fruit}}
        <li>{{this}} {{@index}} {{../fruit.length}}</li>
    {{/each}}
</ul>

산출 할 것 :

<ul>
    <li>apple 0 3</li>
    <li>orange 1 3</li>
    <li>banana 2 3</li>
</ul>

이를 처리하기 위해 간단한 도우미를 정의 할 수 있습니다.

Handlebars.registerHelper('get_length', function (obj) {
 return obj.length;
});   

그런 다음 템플릿에서 사용하십시오.

{{get_length some_object}}

콘텐츠를 표시하기 위해 빈 목록을 테스트하는 경우 ... 핸들 바를 사용하는 Ember.js에서 #each에 대해 else를 가질 수 있습니다.

{{#each blah as |blah|}}

{{else}}
 //   If array is empty
{{/each}}

이 시도:

   {{#each item}}
   {{ json.array.length }}
{{/each}}

참고 URL : https://stackoverflow.com/questions/15428584/how-to-find-array-length-inside-the-handlebar-templates

반응형