5
有什麼方法可以在Handlebars中獲取當前迭代的對象?
代碼:
如何引用Handlebars中當前迭代的對象
<script id="HandleBarTemplate1" type="text/x-handlebars-template">
{{#each objArr}}
<img src="{{objField1}}"/>
<strong>Name:</strong> {{objField2}}
<input type="button" onclick="processObject({{.}});"/>
{{/each}}
</script>
我所提到的processObject({{.}})
這是不正確。這就是我需要更換/解決方案的地方。希望你得到我想要說的。
的objArr
的內容可能類似於
var objArr = [{objField1:"smith.jpg",objField2:"Smith"},{objField1:"jane.jpg",objField2:"Jane"},...]
模板編譯代碼:
var source = document.getElementById("HandleBarTemplate1").innerHTML;
var compiledTemplate = Handlebars.compile(source);
var html = compiledTemplate({objArr:objArr});
如果我能得到的參考對象,那麼它是很容易處理數據。而不是將字段傳遞給該函數,並搜索整個數組以獲取所需的對象,然後對其進行處理。
我喜歡解決方案沒有自定義塊助手/自定義表達助手但如果不存在,我寧願去一個自定義塊助手。任何解決方案,無需搜索整個陣列,歡迎!
完全贊同這一點 - 一個「datacontext」的種類將是非常有用的 –