[英]Iterating over array returned from HandlebarsHelper
我的HBS文件中有兩個屬性。 第一個是用戶授權的角色,第二個是數據庫中可用的所有角色。 如果用戶具有角色(在value
參數中),則將這兩個角色都發送給HBS助手並進行比較,如果用戶沒有角色,則將它們添加到一個名為roleArray
的新數組中。 roleArray
中角色的角色數組( option
參數)。
我不知道如何在返回數組時對其進行迭代。
{{selected properties.roles properties.user.roles ../stateSelected}}
hbs.registerHelper('selected', function(option, value){
var i;
var j;
var roleName;
var userRole;
var roleArray = [];
//Roles the user has
for(i = 0; i < value.length; i++){
userRole = value[i].rolename;
roleArray.push(userRole);
}
//Roles in the database
for(j = 0; j < option.length; j++){
roleName = option[j].rolename;
if(roleArray.includes(roleName)){
//Nothing happens
}else {
roleArray.push(roleName);
}
}
return roleArray;
});
所以我想做的是遍歷前端返回的roleArray
並顯示它們。 最終,助手將返回一個包含選定屬性的對象數組,以便我可以根據用戶是否具有該角色來顯示切換按鈕的打開或關閉狀態,但是現在僅顯示它們就可以了。
謝謝。
如果您的車把版本支持子表達式,請執行以下操作:
{{#each (selected properties.roles properties.user.roles ../stateSelected)}}
do stuff here
{{/each}}
如果不是,則npm上有一個使用相同語法的子表達式幫助程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.