2017-10-27 8 views
0

에서 "@Select"의 사용과 HashMaps을의 중첩 된 배열을 렌더링 : "uniquekey"의 각 값을 바탕으로나는대로 HashMaps을의 배열이 포함 된 JSON 객체가 .dust 파일

{ "someparentkey": { 
     "arraykey": [ 
      { 
       "uniquekey": "key1", 
       "content": "param1" 
      }, 
      { 
       "uniquekey": "key2", 
       "content": "param2" 
      } 
     ] 
    } 
} 

을, 나는 렌더링 할 가져온 먼지 템플릿에 "content" 값을 가진 별도의 먼지 템플릿을 전달하십시오.

{#someparentkey} 
    {#arraykey} 
     {@select key={uniquekey} } 
      {@eq value="key1"}{>"path/to/dust1" param={content} /}{/eq} 
      {@eq value="key2"}{>"path/to/dust2" param={content} /}{/eq} 
      {@default}<!-- Invalid script tag {key} in configuration -->{/default} 
     {/select} 
    {/arraykey} 
{/someparentkey} 

그리고 내 수입 템플릿 ("경로 /로가/dust1.dust"와 "경로 /로가/dust1.dust") 등이있다 :

이 내 기본 템플릿 지금 모습입니다 :

<span>{param}</span> 

그러나 "꿀꿀 거리는 소리 빌드"먼지 파일의을하는 동안, 나는 같은 오류를 얻고있다 :

SyntaxError: Expected end tag for arraykey but it was not found. At line : 3, column : 9 Blockquote

Warning: Dust.js failed to compile template "path/to/my/base-dust".

질문 :

  1. 내 현재 템플릿 코드의 문제가 무엇?
  2. 그리고 내가 원하는 것을 성취 할 수있는 더 좋은 방법이 있습니까?

답변

0

이것은 내가 마지막으로 사용하여 종료 템플릿이며 나를 위해 일한 :

{#someparentkey.arraykey} 
    {@select key=uniquekey } 
     {@eq value="key1"}{>"path/to/dust1" param=content /}{/eq} 
     {@eq value="key2"}{>"path/to/dust2" param=content /}{/eq} 
     {@default}<!-- Invalid script tag {key} in configuration -->{/default} 
    {/select} 
{/someparentkey.arraykey}