2015-05-21 12 views
5

Im próbuje przekazać szereg obiektów w częściowym jako argument:Przechodząc szereg obiektów częściowy - handlebars.js

{{> partial [{title: "hello", year: "2015"}, {title: "hello2" year: "2015"}] }} 

a następnie częściowe:

<div> 

    {{#each this}} 
    <label>{{title}}</label> 
    <label>{{year}}</label> 
    {{/each}} 

</div> 

... ale nic się nie pokazuje.

Czy istnieje sposób przekazywania danych tablicowych do częściowego? Z góry dzięki.

+1

Czemu chce przekazać tę inline danych? Mam na myśli dlaczego nie "{{> częściowa tablica danych}}"? – raidendev

Odpowiedz

2

Utwórz pomocnika, który analizuje JSON i owija część w tym kontekście.

Szablon:

{{#getJsonContext '[{"title": "hello", "year": "2015"}, {"title": "hello2" "year": "2015"}]'}} 
    {{> partial this }} 
{{/getJsonContext}} 

Należy pamiętać, że nazwy są podane, jak również wartości w ciąg JSON.

Helper:

Handlebars.registerHelper('getJsonContext', function(data, options) { 
    return options.fn(JSON.parse(data)); 
}); 

kredytowe: https://github.com/assemble/assemble/issues/228#issuecomment-20853985