2016-09-06 8 views
0

나는 이것에 대한 답을 찾기 위해 광범위하게 검색 했으므로 확실한 것을 놓치지 않았 으면 좋겠다.Handlebars에 partial을 포함하는 검색 연산자

저는 핸들 막대를 사용하여 객체 배열을 반복하고 각 객체의 속성에 따라 부분 뷰를 선택합니다.

조회 연산자와 여러 가지 설명이 온라인으로 제공되는 동적 부분에 대한 설명서를 보았지만 ...이 현재 컨텍스트와 어떻게 관련되어 있는지 이해할 수 없습니다.

나는

{{#each data as |item|}} 
    {{> (lookup item 'type') }} 
{{/each}} 

이 배열의 각 객체의 type 속성을 찾기 위해 다음 코드를 기대하고 등 부분을 그 이름으로 만 조회 undefined로 평가한다.

  1. 조회에 item을 참조하는 올바른 방법은 무엇입니까 :

    내가 볼 예로는 내 질문이 대신

    {{> (lookup . 'property') }} 
    

    을 보여주는 있나요?

  2. 무엇 ...은 무엇입니까?

감사합니다.

편집 : 데이터 오브젝트 및 실제 코드에서 템플릿 추가 (데이터 객체가 감소하고 실제 기업의 이름은 '아이템'하지만, 그렇지 않으면 실제 코드로 변경되었습니다)로부터 데이터에서

{ 
    "_links": { 
     "self": { "href": "/item/342" } 
    }, 
    "itemId": "342", 
    "datetime": "2012-10-06T04:13:00+00:00", 
    "itemType": "ITEM_TYPE", 
    "content": { 
    } 
}, 

을 템플릿

{{#each data as |item|}} 
    {{> (lookup item 'itemType') }} 
{{/each}} 

오류

{ 
    description: undefined, 
    fileName: undefined, 
    lineNumber: undefined, 
    message: "The partial undefined could not be found", 
    name: "Error"… 
} 
+0

하여'#의 each' 나에게 보이는 수행 할 수 있습니다. 데이터 객체를 공유 한 경우 문제가 무엇인지 파악할 수 있습니다. '.'는'this'의 별칭이고 현재 범위 지정된 객체를 가리 킵니다. '../'는 부모 범위의 객체를 한 단계 위로 향하게한다. – 76484

+0

@ 76484 감사합니다. 그것이 내가'.'과'..'에 대해 생각한 것이지만 어떻게 든 그것은 나를 위해 일하지 않는 것처럼 보입니다. 'item' 또는'.'가 조회를 위해 올바른 객체를 전달할 것이라고 예상했지만 그렇지 않았습니다. 데이터와 오류 메시지를 추가했습니다. – guioconnor

+0

더 깊게 파고 들자면 컨트롤러가 템플릿으로 전달되기 전에 데이터 필드를 필터링하고있는 것으로 나타났습니다. 이 구문은 실제로 작동하지만 실제로 보이기 위해서는'itemType' 필드를 다시 매핑해야합니다. – guioconnor

답변

1

해결책을 찾았습니다. @ 76484에 의해 표시된대로 :

.this의 별칭이며 현재 범위가 지정된 개체를 나타냅니다. ../은 부모 범위의 개체에 대해 한 수준 위로 향하게합니다.

예에서 조회는 작동합니다 것처럼 하나

{{#each data as |item|}} 
    {{> (lookup item 'itemType') }} 
{{/each}} 

또는

{{#each data}} 
    {{> (lookup . 'itemType') }} 
{{/each}}