Czy istnieje sposób na uzyskanie obiektu aktualnej iteracji w Handlebars?
Kod:
Jak odnosić się do obiektu bieżącej iteracji w kierownicy
<script id="HandleBarTemplate1" type="text/x-handlebars-template">
{{#each objArr}}
<img src="{{objField1}}"/>
<strong>Name:</strong> {{objField2}}
<input type="button" onclick="processObject({{.}});"/>
{{/each}}
</script>
wspominałem processObject({{.}})
który jest nieprawidłowy. Tam potrzebuję wymiany/rozwiązania. Mam nadzieję, że otrzymasz to, co próbuję powiedzieć.
Zawartość objArr
może wyglądać
var objArr = [{objField1:"smith.jpg",objField2:"Smith"},{objField1:"jane.jpg",objField2:"Jane"},...]
Szablon kod kompilacji:
var source = document.getElementById("HandleBarTemplate1").innerHTML;
var compiledTemplate = Handlebars.compile(source);
var html = compiledTemplate({objArr:objArr});
Gdybym mógł uzyskać odniesienie do obiektu, to jest to tak łatwe do przetwarzania danych. Zamiast przekazywać pole do funkcji i przeszukiwać całą tablicę, aby uzyskać wymagany obiekt, a następnie go przetworzyć.
Wolę rozwiązanie bez niestandardowego pomocnika bloku/niestandardowego wyrażenia pomocnika, ale jeśli nie istnieje, wolałbym wybrać niestandardowego pomocnika blokowego. Każde rozwiązanie bez przeszukiwania całej tablicy jest mile widziane!
całkowicie zgadzam się z tym - rodzaj "datakontekstu" byłby bardzo pomocny –