2016-01-20 15 views
5

Mam plik o nazwie „list.json” skonfigurować tak:Pętla przez obiekt w nunjucks?

{ 
    "thing1": "Thing1", 
    "thing2": "Thing2", 
    "thing3": "Thing3" 
} 

Jak mogę przez to pętla? Chcę zrobić coś takiego:

{% for item in list%} 
    <option>{{ thing }}</option> 
{% endfor %} 

Odpowiedz

2

można spróbować następujących

{% for key, item in list%} 
    <option>{{ item }}</option> 
{% endfor %} 
+0

Nie działa niestety. –

+0

Co dokładnie nie działa? – nikhil

+0

To nic nie zapętla. Nic się nie pokazuje. Bezmyślnie. –

1

Czy importowany JSON? Jeśli nie, w tynku JS, dodać zmienną:

list: JSON.parse(fs.readFileSync('list.json')) 

jeśli używasz go wiele razy, dodać zmienną w górnej części pliku zamiast.

var LIST = JSON.parse(fs.readFileSync('list.json')) 

Możliwe jest również użycie metody asynchronicznego, ale trzeba trochę zagnieżdżania

fs.readFile('list.json', function(err, list) { 
    env.render('template.html', { 
     list: list, 
     //other data 
    } 
} 
0

należy najpierw utworzyć tablicę obiektów w back-end:

var things = []; 

things.push({id : 'thing1', name : 'Thing1'}); 
things.push({id : 'thing2', name : 'Thing2'}); 
things.push({id : 'thing3', name : 'Thing3'}); 

Teraz na z przodu możesz przechodzić przez tę tablicę jak poniżej:

{% for thing in things %} 
<option value="{{ thing.id }}"> {{ thing.name }}</option> 
{% endfor %} 

Mam nadzieję, że to ci pomoże.