2015-11-19 18 views
6

pod moim json jest tak:{{}} #each to w kierownicy nie działa, jeśli „to” jest pusty ciąg

{ 
    main: { 
     "" : [{some_obj},{some_obj}] 
    }, 
    secondary: { 
     "key": [{some_obj},{some_obj}] 
    } 
} 

Teraz moja pierwsza #each zostanie uruchomiony na główne i drugorzędne.

{{#each this}} 
    -- This is for main and secondary -- 
    {{#each this}} 
     -- This is for "" in case of main and "key" in case of secondary -- 
    {{/each}} 
{{/each}} 

Moja zagnieżdżona #each nie będzie działać, jeśli „to” jest pusta, jak pokazano w moim json dla „głównym” atrybutem

+0

niedawno uaktualniliśmy do nowszej wersji pliku handlebars.js. Nie jestem pewien, czy ma to cokolwiek z tym problemem. – ashy143

Odpowiedz

0

wydaje się 3.x.x miał błąd, który powodował to. Here's the commit that fixes this w wersji 4.0.0.

Sprawdziłem te wersje z poniższym fragmencie:

4.xx: OK

3.xx: nie OK

2.0.0: Ok

var data = { 
 
    main: { 
 
    "": [1, 2, 3] 
 
    }, 
 
    secondary: { 
 
    "key": [3, 4, 5] 
 
    } 
 
}; 
 
var compiled = Handlebars.compile(document.getElementById('temp').innerHTML); 
 
document.write(compiled(data));
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.js"></script> 
 
<script id="temp" type="text/x-handlebars-template"> 
 
    {{#each this}} 
 
    {{@key}}<br> 
 
    {{#each this}} 
 
     &nbsp;&nbsp;"{{@key}}": {{this}}<br> 
 
    {{/each}} 
 
    {{/each}} 
 
</script>

Powiązane problemy