2014-11-12 6 views
0

DustJS에서 매개 변수는 어떻게 사용합니까? 나는 키 값 쌍을 인쇄하고자하는 곳을 jsfiddle로 만들었는데 여기서 키 = [매개 변수]입니다.DustJS xpath 다음 형제 축에 해당

피들링에서 저는 래리, 모에, 컬리의 체중 (높이가 아님)을 표시하고 싶습니다.

XSLT에서 이것은 쉽습니다. Xpath를 사용하여 prop [@ name = "weight"]와 다음 형제 축을 찾습니다.

바이올린 : 여기 http://jsfiddle.net/6YrCg/

<script id="entry-template"> 
{title} 

<ul> 
    {#names} 
    <li>{name}</li>{~n} 
    <ul><li>Weight:{#props.name}{value}{/props.name}</li></ul> 
    {/names} 
</ul> 
</script> 

<div id="output"></div> 




$(document).ready(function() { 
    var data = { 
     "title": "Famous People", 
     "names" : [{ "name": "Larry", "props":[{"name":"height","value":"5.8"},{"name":"weight","value":"160"}] },{ "name": "Curly", "props":[{"name":"height","value":"5.9"},{"name":"weight","value":"200"}]},{ "name": "Moe", "props":[{"name":"height","value":"5.8"},{"name":"weight","value":"160"}]}] 
    } 

    var source = $("#entry-template").html(); 
    var compiled = dust.compile(source, "intro"); 
    dust.loadSource(compiled); 

    dust.render("intro", data, function(err, out) { 
     $("#output").html(out); 
    }); 
}); 

답변

0

name 키 "무게"와 동일한 경우에만 출력 값을 {@eq} 헬퍼를 사용하여, 하나의 해결책이다. 이러한 {@eq}

{title} 

<ul> 
    {#names} 
    <li> 
     {name} 
     <ul><li>Weight: {#props}{@eq key=name value="weight"}{value}{/eq}{/props}</li></ul> 
    </li> 
    {/names} 
</ul> 

컨텍스트 헬퍼 먼지 코어 구문을 증가 함수이다. 이 도우미 및 기타 공식적으로 지원되는 도우미에 대한 자세한 내용은 dustjs-helpers wiki page을 확인하십시오.

+0

이렇게했습니다. http://jsfiddle.net/bodyrock/o6b2nkos/2/v –

+0

IDE를 추천 할 수 있습니까? 이러한 자바 스크립트 템플릿은 너무 커질 수 없습니다. –