2014-10-18 13 views
6

Jestem w stanie używać szablonów po stronie klienta dla nunjucks, ponieważ prekompiluję z pliku node.js i udostępniam pliki szablonów JS. Nazywam szablonami po stronie klienta:Jak korzystać z makr Nunjucks w przeglądarce po stronie klienta?

nunjucks.render('partials/some-template.html', { abc: 123 }) 

i odzyskaj ciąg.

Jak mogę wywołać makra tak, jak próbowałem, ale robię to źle. Makra są po raz pierwszy ogłoszony na stronie w kategoriach node.js następnie zwanych kolejne razy, na przykład w node.js:

{% include 'macros/checkbox.html' %} 
... 
{{ checkbox('you cool?', 'cool', false) }} 
{{ checkbox('you collected?', 'collected', false) }} 

Ale nie wiem, jak uzyskać makro następnie wywołać go ponownie i ponownie po stronie klienta. Zrobiłem wysiłek, aby przejść przez kontrolę w konsoli do tej pory, ale bez powodzenia.

Odpowiedz

3

Kiedy chciałem renderować makro po stronie klienta, użyłem metody nunjucks.renderString, aby zaimportować plik zawierający makra, a następnie zadzwonić - wszystko za jednym zamachem. Moja przypadek to renderowanie makra do HTML, a następnie dodanie go do strony przy użyciu Javascript. Przykładowy przypadek użycia będzie następujący:

var renderString = "{% import 'packageForms.html' as forms %} \n"; 
renderString = renderString + '{{ form.packageForm("task") }}'; 
var renderedHTML = nunjucks.renderString(renderString); 
$('#page').append(renderedHTML) 
+0

Należy pamiętać, że "wąska" wersja nie ma opcji 'renderString' – aaaaaa

Powiązane problemy