2015-11-19 10 views
6

considerare la mia JSON è simile a questo:{{#each questo}} in manubri non funziona se "questo" è stringa vuota

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

Ora il mio primo #each sarà in esecuzione per il principale e secondaria.

{{#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}} 

mio #each nidificato non funziona se "questo" è vuoto, come mostrato nel mio JSON per l'attributo "principale"

+0

recentemente abbiamo aggiornato alla versione più recente di handlebars.js. Non sono sicuro se deve fare qualcosa con questo problema. – ashy143

risposta

0

Sembra come 3.x.x avuto un bug che ha causato questo. Here's the commit that fixes this in 4.0.0.

ho controllato queste versioni con lo snippet di seguito:

4.xx: OK

3.xx: non 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>