我使用把手。我註冊了一個調用函數的助手。把手方法調用不返回值
Handlebars.registerHelper("getContactCategoryById", getContactCategoryById);
功能
function getContactCategoryById(categoryId) {
var category = sessionStorage.getItem("category");
$.each(jQuery.parseJSON(category), function() {
if (this.contactCategoryId == categoryId) {
return this.name;
}
});
}
在我的模板,我的函數被調用,當我調試,getContactCategoryById返回一個值,但它從來沒有在表中顯示。 我可以看到當我看到html代碼,然後contact-category-id爲data-contact-category-id標籤賦值。
<script id="lodger-contact-available-result-template" type="text/x-handlebars-template">
<table id="lodgerContactAvailableTableResult" style="min-height:200" data-show-header="true" class="table table-striped" data-toggle="table" data-height="330">
<thead>
<tr>
<th>Category</th>
</tr>
</thead>
<tbody>
{{#each this}}
<tr>
<td data-contact-category-id={{contactCategoryId}}>{{getContactCategoryById contactCategoryId}}</td>
</tr>
{{/each}}
</tbody>
</table
</script>
編輯:解決方案,需要做一個回報存在的每一個,並獲得價值
function getContactCategoryById(categoryId) {
var category = sessionStorage.getItem("category");
var toReturn;
$.each(jQuery.parseJSON(category), function() {
console.log(this.contactCategoryId, categoryId);
if (this.contactCategoryId == categoryId) {
toReturn = this.name;
return false;
}
});
return toReturn;
}
你加的console.log線,看看是怎麼回事上?如果沒有匹配,你也不會返回任何東西。 – epascarello
如果我把getContactCategoryById中的console.log,我可以看到值。如果找不到價值,我不想要任何價值。 –
'的console.log(this.contactCategoryId,的categoryId);' – epascarello